Package org.jboss.jandex
Class TypeParameterBoundTypeTarget
java.lang.Object
org.jboss.jandex.TypeTarget
org.jboss.jandex.PositionBasedTypeTarget
org.jboss.jandex.TypeParameterTypeTarget
org.jboss.jandex.TypeParameterBoundTypeTarget
- All Implemented Interfaces:
AnnotationTarget
Represents a target of type annotation which occurs within a bound of type parameter.
This class conveys the zero-based position of the type parameter, the zero-based position
of the bound, and finally, the enclosing method or class where it occurs. Since type targets
can appear at any depth of the type tree at this location, the corresponding type reference
is also included.
Consider the following example involving a type target using the Bar annotation:
public <T extends Number & @Bar Serializable> void foo(List<T> l) { ... }
This example would be represented as a TypeParameterBoundTypeTarget with an enclosing target
of the MethodInfo of foo, position() would be 0 and boundPosition() would be 1.
- Author:
- Jason T. Greene
- Since:
- 2.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jboss.jandex.TypeTarget
TypeTarget.UsageNested classes/interfaces inherited from interface org.jboss.jandex.AnnotationTarget
AnnotationTarget.Kind -
Method Summary
Modifier and TypeMethodDescriptionCasts and returns this type target as aTypeParameterBoundTypeTarget.final intReturns the index of the bound this type annotation is within.final TypeTarget.Usageusage()Returns the kind of usage of this type target.Methods inherited from class org.jboss.jandex.TypeParameterTypeTarget
asTypeParameterMethods inherited from class org.jboss.jandex.PositionBasedTypeTarget
positionMethods inherited from class org.jboss.jandex.TypeTarget
annotation, annotations, annotations, annotationsWithRepeatable, asClass, asClassExtends, asDeclaration, asEmpty, asField, asMethod, asMethodParameter, asMethodParameterType, asRecordComponent, asThrows, asType, declaredAnnotation, declaredAnnotations, declaredAnnotationsWithRepeatable, enclosingTarget, hasAnnotation, hasDeclaredAnnotation, isDeclaration, kind, targetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jboss.jandex.AnnotationTarget
annotation, annotation, annotations, annotations, annotationsWithRepeatable, annotationsWithRepeatable, declaredAnnotation, declaredAnnotation, declaredAnnotationsWithRepeatable, declaredAnnotationsWithRepeatable, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation
-
Method Details
-
boundPosition
public final int boundPosition()Returns the index of the bound this type annotation is within.- Returns:
- the index of the bound this type annotation is within
-
usage
Description copied from class:TypeTargetReturns the kind of usage of this type target. This allows a caller to use a switch statement as opposed togetClass()comparisons.- Overrides:
usagein classTypeParameterTypeTarget- Returns:
- the kind of usage of this type target
-
asTypeParameterBound
Description copied from class:TypeTargetCasts and returns this type target as aTypeParameterBoundTypeTarget. If this type target is not aTypeParameterBoundTypeTarget, then an exception will be thrown.- Overrides:
asTypeParameterBoundin classTypeTarget- Returns:
- an instance of
TypeParameterBoundTypeTarget
-