java.lang.reflect
Interface AnnotatedElement

All Known Implementing Classes:
AccessibleObject sample code for java.lang.reflect.AccessibleObject definition code for java.lang.reflect.AccessibleObject , Class sample code for java.lang.Class definition code for java.lang.Class , Constructor sample code for java.lang.reflect.Constructor definition code for java.lang.reflect.Constructor , Field sample code for java.lang.reflect.Field definition code for java.lang.reflect.Field , Method sample code for java.lang.reflect.Method definition code for java.lang.reflect.Method , Package sample code for java.lang.Package definition code for java.lang.Package

public interface AnnotatedElement

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 sample code for java.lang.Class definition code for java.lang.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 sample code for java.lang.TypeNotPresentException definition code for java.lang.TypeNotPresentException .

Similarly, attempting to read an enum-valued member will result in a EnumConstantNotPresentException sample code for java.lang.EnumConstantNotPresentException definition code for java.lang.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 sample code for java.lang.annotation.AnnotationTypeMismatchException definition code for java.lang.annotation.AnnotationTypeMismatchException or an IncompleteAnnotationException sample code for java.lang.annotation.IncompleteAnnotationException definition code for java.lang.annotation.IncompleteAnnotationException .

Since:
1.5

Method Summary
<T extends Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.Annotation >
T
getAnnotation sample code for java.lang.reflect.AnnotatedElement.getAnnotation(java.lang.Class) definition code for java.lang.reflect.AnnotatedElement.getAnnotation(java.lang.Class) (Class sample code for java.lang.Class definition code for java.lang.Class <T> annotationType)
          Returns this element's annotation for the specified type if such an annotation is present, else null.
 Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.Annotation [] getAnnotations sample code for java.lang.reflect.AnnotatedElement.getAnnotations() definition code for java.lang.reflect.AnnotatedElement.getAnnotations() ()
          Returns all annotations present on this element.
 Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.Annotation [] getDeclaredAnnotations sample code for java.lang.reflect.AnnotatedElement.getDeclaredAnnotations() definition code for java.lang.reflect.AnnotatedElement.getDeclaredAnnotations() ()
          Returns all annotations that are directly present on this element.
 boolean isAnnotationPresent sample code for java.lang.reflect.AnnotatedElement.isAnnotationPresent(java.lang.Class) definition code for java.lang.reflect.AnnotatedElement.isAnnotationPresent(java.lang.Class) (Class sample code for java.lang.Class definition code for java.lang.Class <? extends Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.Annotation > annotationType)
          Returns true if an annotation for the specified type is present on this element, else false.
 

Method Detail

isAnnotationPresent sample code for java.lang.reflect.AnnotatedElement.isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>) definition code for java.lang.reflect.AnnotatedElement.isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>)

boolean isAnnotationPresent(Class sample code for java.lang.Class definition code for java.lang.Class <? extends Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.Annotation > annotationType)
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:
annotationType - the Class object corresponding to the annotation type
Returns:
true if an annotation for the specified annotation type is present on this element, else false
Throws:
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - if annotationType is null
Since:
1.5

getAnnotation sample code for java.lang.reflect.AnnotatedElement.<T extends java.lang.annotation.Annotation>getAnnotation(java.lang.Class<T>) definition code for java.lang.reflect.AnnotatedElement.<T extends java.lang.annotation.Annotation>getAnnotation(java.lang.Class<T>)

<T extends Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.Annotation > T getAnnotation(Class sample code for java.lang.Class definition code for java.lang.Class <T> annotationType)
Returns this element's annotation for the specified type if such an annotation is present, else null.

Parameters:
annotationType - the Class object corresponding to the annotation type
Returns:
this element's annotation for the specified annotation type if present on this element, else null
Throws:
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - if annotationType is null
Since:
1.5

getAnnotations sample code for java.lang.reflect.AnnotatedElement.getAnnotations() definition code for java.lang.reflect.AnnotatedElement.getAnnotations()

Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.annotation.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:
all annotations present on this element
Since:
1.5

getDeclaredAnnotations sample code for java.lang.reflect.AnnotatedElement.getDeclaredAnnotations() definition code for java.lang.reflect.AnnotatedElement.getDeclaredAnnotations()

Annotation sample code for java.lang.annotation.Annotation definition code for java.lang.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:
All annotations directly present on this element
Since:
1.5