Package org.jboss.jandex
Class ThrowsTypeTarget
- java.lang.Object
-
- org.jboss.jandex.TypeTarget
-
- org.jboss.jandex.PositionBasedTypeTarget
-
- org.jboss.jandex.ThrowsTypeTarget
-
- All Implemented Interfaces:
AnnotationTarget
public class ThrowsTypeTarget extends PositionBasedTypeTarget
Represents a type annotation target which occurs within a throwable type on a method. This class conveys the enclosing method and the zero-based position of the throwable that is thrown. 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 void foo(List<T>) throws FooException<@Bar T> { ... }
This example would be represented as a
ThrowsTypeTarget
with an enclosing target of foo'sMethodInfo
, andposition()
would return 0, indicating the first entry of the list returned byexceptions()
. The "Bar" annotation would appear on the type variable T.- Since:
- 2.0
- Author:
- Jason T. Greene
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jboss.jandex.TypeTarget
TypeTarget.Usage
-
Nested classes/interfaces inherited from interface org.jboss.jandex.AnnotationTarget
AnnotationTarget.Kind
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ThrowsTypeTarget
asThrows()
Casts and returns this type target as aThrowsTypeTarget
.MethodInfo
enclosingTarget()
Returns the enclosing target that contains the type referred to by theTypeTarget.target()
method.TypeTarget.Usage
usage()
Returns the kind of usage of this type target.-
Methods inherited from class org.jboss.jandex.PositionBasedTypeTarget
position
-
Methods inherited from class org.jboss.jandex.TypeTarget
asClass, asClassExtends, asEmpty, asField, asMethod, asMethodParameter, asMethodParameterType, asRecordComponent, asType, asTypeParameter, asTypeParameterBound, kind, target
-
-
-
-
Method Detail
-
usage
public TypeTarget.Usage usage()
Description copied from class:TypeTarget
Returns the kind of usage of this type target. This allows a caller to use a switch statement as opposed togetClass()
comparisons.- Specified by:
usage
in classTypeTarget
- Returns:
- the kind of usage of this type target
-
enclosingTarget
public MethodInfo enclosingTarget()
Description copied from class:TypeTarget
Returns the enclosing target that contains the type referred to by theTypeTarget.target()
method.- Overrides:
enclosingTarget
in classTypeTarget
- Returns:
- the enclosing target
-
asThrows
public ThrowsTypeTarget asThrows()
Description copied from class:TypeTarget
Casts and returns this type target as aThrowsTypeTarget
. If this type target is not aThrowsTypeTarget
, then an exception will be thrown.- Overrides:
asThrows
in classTypeTarget
- Returns:
- an instance of
ThrowsTypeTarget
-
-