public
interface
AnnotatedElement
java.lang.reflect.AnnotatedElement |
Known Indirect Subclasses
|
Represents an annotated element of the program currently running in this VM. This interface allows annotations to be read reflectively. All annotations returned by methods in this interface are immutable and serializable. It is permissible for the caller to modify the arrays returned by accessors for array-valued enum members; it will have no affect on the arrays returned to other callers.
If an annotation returned by a method in this interface contains
(directly or indirectly) a Class
-valued member referring to
a class that is not accessible in this VM, attempting to read the class
by calling the relevant Class-returning method on the returned annotation
will result in a TypeNotPresentException
.
Similarly, attempting to read an enum-valued member will result in
a EnumConstantNotPresentException
if the enum constant in the
annotation is no longer present in the enum type.
Finally, Attempting to read a member whose definition has evolved
incompatibly will result in a AnnotationTypeMismatchException
or an
IncompleteAnnotationException
.
See also:
Public methods | |
---|---|
abstract
<T extends Annotation>
T
|
getAnnotation(Class<T> annotationClass)
Returns this element's annotation for the specified type if such an annotation is present, else null. |
abstract
Annotation[]
|
getAnnotations()
Returns all annotations present on this element. |
default
<T extends Annotation>
T[]
|
getAnnotationsByType(Class<T> annotationClass)
Returns an associated list of annotations on |
default
<T extends Annotation>
Annotation
|
getDeclaredAnnotation(Class<T> annotationClass)
Returns a directly-present annotation on |
abstract
Annotation[]
|
getDeclaredAnnotations()
Returns all annotations that are directly present on this element. |
default
<T extends Annotation>
T[]
|
getDeclaredAnnotationsByType(Class<T> annotationClass)
Returns a directly or indirectly present list of annotations on |
default
boolean
|
isAnnotationPresent(Class<? extends Annotation> annotationClass)
Returns true if an annotation for the specified type is present on this element, else false. |
T getAnnotation (Class<T> annotationClass)
Returns this element's annotation for the specified type if such an annotation is present, else null.
Parameters | |
---|---|
annotationClass |
Class :
the Class object corresponding to the
annotation type |
Returns | |
---|---|
T |
this element's annotation for the specified annotation type if present on this element, else null |
Throws | |
---|---|
NullPointerException |
if the given annotation class is null |
Annotation[] getAnnotations ()
Returns all annotations present on this element. (Returns an array of length zero if this element has no annotations.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.
Returns | |
---|---|
Annotation[] |
all annotations present on this element |
T[] getAnnotationsByType (Class<T> annotationClass)
Returns an associated list of annotations on this
element,
whose class is annotationClass
, or an empty array if nothing was found.
Parameters | |
---|---|
annotationClass |
Class
|
Returns | |
---|---|
T[] |
Annotation getDeclaredAnnotation (Class<T> annotationClass)
Returns a directly-present annotation on this
element, whose class is
annotationClass
, or null
if nothing was found.
Parameters | |
---|---|
annotationClass |
Class
|
Returns | |
---|---|
Annotation |
Annotation[] getDeclaredAnnotations ()
Returns all annotations that are directly present on this element. Unlike the other methods in this interface, this method ignores inherited annotations. (Returns an array of length zero if no annotations are directly present on this element.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.
Returns | |
---|---|
Annotation[] |
All annotations directly present on this element |
T[] getDeclaredAnnotationsByType (Class<T> annotationClass)
Returns a directly or indirectly present list of annotations on this
element,
whose class is annotationClass
, or an empty array if nothing was found.
Parameters | |
---|---|
annotationClass |
Class
|
Returns | |
---|---|
T[] |
boolean isAnnotationPresent (Class<? extends Annotation> annotationClass)
Returns true if an annotation for the specified type is present on this element, else false. This method is designed primarily for convenient access to marker annotations.
Parameters | |
---|---|
annotationClass |
Class :
the Class object corresponding to the
annotation type |
Returns | |
---|---|
boolean |
true if an annotation for the specified annotation type is present on this element, else false |
Throws | |
---|---|
NullPointerException |
if the given annotation class is null |