Interface AnnotationInfo


public interface AnnotationInfo
An annotation instance, typically obtained from an AnnotationTarget. Provides access to annotation members and their values.

Implementations of this interface are required to define the equals and hashCode methods. Implementations of this interface are encouraged to define the toString method such that it returns a text resembling the corresponding Java™ syntax.

There is no guarantee that any particular annotation instance, represented by an implementation of this interface, will always be represented by the same object. That includes natural singletons such as the jakarta.inject.Singleton annotation. Instances should always be compared using equals.

Since:
4.0
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the declaration of this annotation's type.
    boolean
    Returns whether this annotation has a member with given name.
    default boolean
    Returns whether this annotation has the value member.
    default boolean
    Returns whether this annotation is repeatable.
    member(String name)
    Returns the value of this annotation's member with given name.
    Returns all members of this annotation as a map, where the key is the member name and the value is the member value.
    default String
    Binary name of this annotation's type, as defined by The Java™ Language Specification; in other words, the annotation type name as returned by Class.getName().
    Returns the value of this annotation's value member.
  • Method Details

    • declaration

      ClassInfo declaration()
      Returns the declaration of this annotation's type.
      Returns:
      the declaration of this annotation's type, never null
    • name

      default String name()
      Binary name of this annotation's type, as defined by The Java™ Language Specification; in other words, the annotation type name as returned by Class.getName(). Equivalent to declaration().name().
      Returns:
      binary name of this annotation's type, never null
    • isRepeatable

      default boolean isRepeatable()
      Returns whether this annotation is repeatable. In other words, returns whether this annotation's type is meta-annotated @Repeatable.
      Returns:
      whether this annotation is repeatable
    • hasMember

      boolean hasMember(String name)
      Returns whether this annotation has a member with given name.
      Parameters:
      name - member name, must not be null
      Returns:
      true if this annotation has a member with given name, false otherwise
    • member

      AnnotationMember member(String name)
      Returns the value of this annotation's member with given name.
      Parameters:
      name - member name, must not be null
      Returns:
      value of this annotation's member with given name or null if such member does not exist
    • hasValue

      default boolean hasValue()
      Returns whether this annotation has the value member.
      Returns:
      true if this annotation has the value member, false otherwise
    • value

      default AnnotationMember value()
      Returns the value of this annotation's value member.
      Returns:
      value of this annotation's value member or null if the member does not exist
    • members

      Returns all members of this annotation as a map, where the key is the member name and the value is the member value. Returns an empty map if this annotation has no members.
      Returns:
      an immutable map of all members of this annotation, never null