AnnotatedType (Java SE 10 & JDK 10 )
Keywords: java.lang.reflect.AnnotatedType interface

Module java.base
Package java.lang.reflect

## Interface AnnotatedType

- All Superinterfaces:
    `AnnotatedElement`
  All Known Subinterfaces:
    `AnnotatedArrayType`, `AnnotatedParameterizedType`, `AnnotatedTypeVariable`, `AnnotatedWildcardType`

      public interface AnnotatedType
      extends AnnotatedElement

  `AnnotatedType` represents the potentially annotated use of a type in the program currently running in this VM. The use may be of any type in the Java programming language, including an array type, a parameterized type, a type variable, or a wildcard type.
  Since:
    1.8

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default AnnotatedType` | `getAnnotatedOwnerType()` | Returns the potentially annotated type that this type is a member of, if this type represents a nested type.
    `Type` | `getType()` | Returns the underlying type that this annotated type represents.

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

      `getAnnotation, getAnnotations, getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent`

- - ### Method Detail

    - #### getAnnotatedOwnerType

          default 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 type, or a local or anonymous class, or a primitive type, or void.

      Returns `null` if this `AnnotatedType` is an instance of `AnnotatedArrayType`, `AnnotatedTypeVariable`, or `AnnotatedWildcardType`.

      Implementation Requirements:
        This default implementation returns `null` and performs no other action.
      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 type declaration
        `MalformedParameterizedTypeException` - if the owner type refers to a parameterized type that cannot be instantiated for any reason
      Since:
        9

    - #### getType

          Type getType()

      Returns the underlying type that this annotated type represents.
      Returns:
        the type this annotated type represents