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