Module java.base
Package java.lang.reflect

# Interface AnnotatedParameterizedType

All Superinterfaces:
  `AnnotatedElement`, `AnnotatedType`

public interface AnnotatedParameterizedType extends AnnotatedType
`AnnotatedParameterizedType` represents the potentially annotated use of a parameterized type, whose type arguments may themselves represent annotated uses of types.

See Java Language Specification:
  4.5 Parameterized Types
Since:
  1.8

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AnnotatedType[]`
  `getAnnotatedActualTypeArguments()`
  Returns the potentially annotated actual type arguments of this parameterized type.
  `AnnotatedType`
  `getAnnotatedOwnerType()`
  Returns the potentially annotated type that this type is a member of, if this type represents a nested type.

  ### Methods declared in interface java.lang.reflect.AnnotatedElement

  `getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent`

  ### Methods declared in interface java.lang.reflect.AnnotatedType

  `getAnnotation, getAnnotations, getDeclaredAnnotations, getType`

- ## Method Details

  - ### getAnnotatedActualTypeArguments

    AnnotatedType[] getAnnotatedActualTypeArguments()
    Returns the potentially annotated actual type arguments of this parameterized type.

    Note that in some cases, the returned array can be empty. This can occur if this annotated type represents a non-parameterized type nested within a parameterized type.

    Returns:
      the potentially annotated actual type arguments of this parameterized type
    See Also:
      - `ParameterizedType.getActualTypeArguments()`

  - ### getAnnotatedOwnerType

    AnnotatedType getAnnotatedOwnerType()
    Returns the potentially annotated type that this type is a member of, if this type represents a nested type. For example, if this type is `@TA O<T>.I<S>`, return a representation of `@TA O<T>`.

    Returns `null` if this `AnnotatedType` represents a top-level class or interface, or a local or anonymous class, or a primitive type, or void.

    Specified by:
      `getAnnotatedOwnerType` in interface `AnnotatedType`
    Returns:
      an `AnnotatedType` object representing the potentially annotated type that this type is a member of, or `null`
    Throws:
      `TypeNotPresentException` - if the owner type refers to a non-existent class or interface declaration
      `MalformedParameterizedTypeException` - if the owner type refers to a parameterized type that cannot be instantiated for any reason
    Since:
      9