Interface AnnotationAccessor
- All Known Implementing Classes:
AnnotationAccessor.NullAnnotationAccessor
@API(status=STABLE,
since="1.2.0")
public interface AnnotationAccessor
Managed access for
Annotation instances- Since:
- 1.2.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classAnnotation accessor that cannot access any annotations -
Method Summary
Modifier and TypeMethodDescription<A extends Annotation>
@Nullable Aannotation(@NonNull Class<A> clazz) Get an annotation instance, if it's present.@NonNull Collection<@NonNull Annotation>Get an immutable collection containing all of the annotations that are accessible using the annotation accessorstatic @NonNull AnnotationAccessorempty()Get aAnnotationAccessorthat cannot access any annotationsstatic @NonNull AnnotationAccessorof(@NonNull AnnotationAccessor @NonNull ... accessors) Get aAnnotationAccessorinstance that delegates to multipleAnnotatedElementinstances.static @NonNull AnnotationAccessorof(@NonNull AnnotatedElement element)
-
Method Details
-
empty
Get aAnnotationAccessorthat cannot access any annotations- Returns:
- Empty annotation accessor
- Since:
- 1.3.0
-
of
Get aAnnotationAccessorinstance for aAnnotatedElement, such as aClassor aMethod. This instance can then be used as a proxy for retrieving the element's annotations- Parameters:
element- Annotated element that will be proxied by the accessor- Returns:
- Annotation accessor proxying the given annotated element
-
of
@API(status=STABLE, since="1.4.0") static @NonNull AnnotationAccessor of(@NonNull AnnotationAccessor @NonNull ... accessors) Get aAnnotationAccessorinstance that delegates to multipleAnnotatedElementinstances. The first accessor that provides a requested annotation will always be used- Parameters:
accessors- The accessor to delegate to- Returns:
- Annotation accessor that delegates to the given accessors (using their natural ordering)
- Since:
- 1.4.0
-
annotation
Get an annotation instance, if it's present. If the annotation isn't available, this will returnnull- Type Parameters:
A- Annotation type- Parameters:
clazz- Annotation class- Returns:
- Annotation instance, or
null
-
annotations
@NonNull Collection<@NonNull Annotation> annotations()Get an immutable collection containing all of the annotations that are accessible using the annotation accessor- Returns:
- Immutable collection of annotations
-