Interface AnnotatedElementContext

All Known Subinterfaces:
ParameterContext

@API(status=EXPERIMENTAL, since="5.10") public interface AnnotatedElementContext
AnnotatedElementContext encapsulates the context in which an AnnotatedElement is declared.

For example, an AnnotatedElementContext is used in TempDirFactory to allow inspecting the field or parameter the TempDir annotation is declared on.

This interface is not intended to be implemented by clients.

Since:
5.10
  • Method Details

    • getAnnotatedElement

      AnnotatedElement getAnnotatedElement()
      Get the AnnotatedElement for this context.

      WARNING

      When searching for annotations on the annotated element in this context, favor isAnnotated(Class), findAnnotation(Class), and findRepeatableAnnotations(Class) over methods in the AnnotatedElement API due to a bug in javac on JDK versions prior to JDK 9.

      Returns:
      the annotated element; never null
    • isAnnotated

      default boolean isAnnotated(Class<? extends Annotation> annotationType)
      Determine if an annotation of annotationType is either present or meta-present on the AnnotatedElement for this context.

      WARNING

      Favor the use of this method over directly invoking AnnotatedElement.isAnnotationPresent(Class) due to a bug in javac on JDK versions prior to JDK 9.

      Parameters:
      annotationType - the annotation type to search for; never null
      Returns:
      true if the annotation is present or meta-present
      See Also:
    • findAnnotation

      default <A extends Annotation> Optional<A> findAnnotation(Class<A> annotationType)
      Find the first annotation of annotationType that is either present or meta-present on the AnnotatedElement for this context.

      WARNING

      Favor the use of this method over directly invoking annotation lookup methods in the AnnotatedElement API due to a bug in javac on JDK versions prior to JDK 9.

      Type Parameters:
      A - the annotation type
      Parameters:
      annotationType - the annotation type to search for; never null
      Returns:
      an Optional containing the annotation; never null but potentially empty
      See Also:
    • findRepeatableAnnotations

      default <A extends Annotation> List<A> findRepeatableAnnotations(Class<A> annotationType)
      Find all repeatable annotations of annotationType that are either present or meta-present on the AnnotatedElement for this context.

      WARNING

      Favor the use of this method over directly invoking annotation lookup methods in the AnnotatedElement API due to a bug in javac on JDK versions prior to JDK 9.

      Type Parameters:
      A - the annotation type
      Parameters:
      annotationType - the repeatable annotation type to search for; never null
      Returns:
      the list of all such annotations found; neither null nor mutable, but potentially empty
      See Also: