Interface Annotated

All Known Subinterfaces:
AnnotatedCallable<X>, AnnotatedConstructor<X>, AnnotatedField<X>, AnnotatedMember<X>, AnnotatedMethod<X>, AnnotatedParameter<X>, AnnotatedType<X>

public interface Annotated

Represents a Java program element that can be annotated.

Author:
Gavin King, Pete Muir, Clint Popetz, John D. Ament
See Also:
  • Method Details

    • getBaseType

      Type getBaseType()

      Get the type of the annotated program element.

      Returns:
      the type of the annotated program element
    • getTypeClosure

      Set<Type> getTypeClosure()

      Get all types to which the base type should be considered assignable.

      Returns:
      a set of all types to which the base type should be considered assignable
    • getAnnotation

      <T extends Annotation> T getAnnotation(Class<T> annotationType)

      Get program element annotation of a certain annotation type. The behavior of this method is intended to be the same behavior as AnnotatedElement.getAnnotation(Class), where repeatable annotations are not supported.

      Type Parameters:
      T - the type of the annotation
      Parameters:
      annotationType - the class of the annotation type
      Returns:
      the first program element annotation of the given annotation type, or a null value
    • getAnnotations

      <T extends Annotation> Set<T> getAnnotations(Class<T> annotationType)

      Get program element annotations of a certain annotation type.

      This method returns back all annotations, including repeatable annotations of this type. The behavior of this method is intended to be the same behavior as AnnotatedElement.getAnnotationsByType(Class), where repeatable annotations are supported.

      Type Parameters:
      T - the type of the annotation
      Parameters:
      annotationType - the class of the annotation type
      Returns:
      the program element annotations of the given annotation type, or an empty collection
    • getAnnotations

      Set<Annotation> getAnnotations()

      Get all annotations of the program element.

      Returns:
      all annotations of the program element, or an empty set if no annotations are present
    • isAnnotationPresent

      boolean isAnnotationPresent(Class<? extends Annotation> annotationType)

      Determine if the program element has an annotation of a certain annotation type. The behavior of this method is similar to AnnotatedElement.isAnnotationPresent(Class) for the underlying program element.

      Parameters:
      annotationType - the annotation type to check for
      Returns:
      true if the program element has an annotation of the given annotation type, or false otherwise