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 TypeMethodDescriptionReturns the declaration of this annotation's type.boolean
Returns whether this annotation has a member with givenname
.default boolean
hasValue()
Returns whether this annotation has thevalue
member.default boolean
Returns whether this annotation is repeatable.Returns the value of this annotation's member with givenname
.members()
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
name()
Binary name of this annotation's type, as defined by The Java™ Language Specification; in other words, the annotation type name as returned byClass.getName()
.default AnnotationMember
value()
-
Method Details
-
declaration
ClassInfo declaration()Returns the declaration of this annotation's type.- Returns:
- the declaration of this annotation's type, never
null
-
name
Binary name of this annotation's type, as defined by The Java™ Language Specification; in other words, the annotation type name as returned byClass.getName()
. Equivalent todeclaration().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
Returns whether this annotation has a member with givenname
.- Parameters:
name
- member name, must not benull
- Returns:
true
if this annotation has a member with givenname
,false
otherwise
-
member
Returns the value of this annotation's member with givenname
.- Parameters:
name
- member name, must not benull
- Returns:
- value of this annotation's member with given
name
ornull
if such member does not exist
-
hasValue
-
value
- Returns:
- value of this annotation's
value
member ornull
if the member does not exist
-
members
Map<String,AnnotationMember> 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
-