AnnotatedWildcardType (Java SE 22 & JDK 22)
Description: declaration: module: java.base, package: java.lang.reflect, interface: AnnotatedWildcardType
Keywords: java.lang.reflect.AnnotatedWildcardType interface

Module java.base
Package java.lang.reflect

# Interface AnnotatedWildcardType

All Superinterfaces:
  `AnnotatedElement`, `AnnotatedType`

public interface AnnotatedWildcardType extends AnnotatedType
`AnnotatedWildcardType` represents the potentially annotated use of a wildcard type argument, whose upper or lower bounds may themselves represent annotated uses of types.

See Java Language Specification:
  4.5.1 Type Arguments of Parameterized Types
Since:
  1.8

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AnnotatedType[]`
  `getAnnotatedLowerBounds()`
  Returns the potentially annotated lower bounds of this wildcard type.
  `AnnotatedType`
  `getAnnotatedOwnerType()`
  Returns the potentially annotated type that this type is a member of, if this type represents a nested type.
  `AnnotatedType[]`
  `getAnnotatedUpperBounds()`
  Returns the potentially annotated upper bounds of this wildcard 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

  - ### getAnnotatedLowerBounds

    AnnotatedType[] getAnnotatedLowerBounds()
    Returns the potentially annotated lower bounds of this wildcard type. If no lower bound is explicitly declared, the lower bound is the type of null. In this case, a zero length array is returned.
    API Note:
      While to date a wildcard may have at most one lower bound, callers of this method should be written to accommodate multiple bounds.
    Returns:
      the potentially annotated lower bounds of this wildcard type or an empty array if no lower bound is explicitly declared.
    See Also:
      - `WildcardType.getLowerBounds()`

  - ### getAnnotatedUpperBounds

    AnnotatedType[] getAnnotatedUpperBounds()
    Returns the potentially annotated upper bounds of this wildcard type. If no upper bound is explicitly declared, the upper bound is unannotated `Object`
    API Note:
      While to date a wildcard may have at most one upper bound, callers of this method should be written to accommodate multiple bounds.
    Returns:
      the potentially annotated upper bounds of this wildcard type
    See Also:
      - `WildcardType.getUpperBounds()`

  - ### 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` for an `AnnotatedType` that is an instance of `AnnotatedWildcardType`.

    Specified by:
      `getAnnotatedOwnerType` in interface `AnnotatedType`
    Returns:
      `null`
    Since:
      9