public class AccessibleObject extends Object implements AnnotatedElement
AccessibleObject is the superclass of all member reflection classes
(Field, Constructor, Method). AccessibleObject provides the ability to toggle
a flag controlling access checks for these objects. By default, accessing a
member (for example, setting a field or invoking a method) checks the
validity of the access (for example, invoking a private method from outside
the defining class is prohibited) and throws IllegalAccessException if the
operation is not permitted. If the accessible flag is set to true, these
checks are omitted. This allows privileged code, such as Java object
serialization, object inspectors, and debuggers to have complete access to
objects.Field,
Constructor,
Method| Modifier | Constructor and Description |
|---|---|
protected |
AccessibleObject() |
| Modifier and Type | Method and Description |
|---|---|
<T extends Annotation> |
getAnnotation(Class<T> annotationType)
Returns, for this element, the annotation with the specified type, or
null if no annotation with the specified type is present
(including inherited annotations). |
Annotation[] |
getAnnotations()
Returns, for this element, an array containing all annotations (including
inherited annotations).
|
Annotation[] |
getDeclaredAnnotations()
Returns, for this element, all annotations that are explicitly declared
(not inherited).
|
boolean |
isAccessible()
Returns true if this object is accessible without access checks.
|
boolean |
isAnnotationPresent(Class<? extends Annotation> annotationType)
Indicates whether or not this element has an annotation with the
specified annotation type (including inherited annotations).
|
static void |
setAccessible(AccessibleObject[] objects,
boolean flag)
Attempts to set the accessible flag for all objects in
objects. |
void |
setAccessible(boolean flag)
Attempts to set the accessible flag.
|
public boolean isAccessible()
public void setAccessible(boolean flag)
IllegalAccessExceptions.public static void setAccessible(AccessibleObject[] objects, boolean flag)
objects.
Setting this to true prevents IllegalAccessExceptions.public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
AnnotatedElementisAnnotationPresent in interface AnnotatedElementannotationType - the type of the annotation to search fortrue if the annotation exists, false otherwisepublic Annotation[] getDeclaredAnnotations()
AnnotatedElementgetDeclaredAnnotations in interface AnnotatedElementpublic Annotation[] getAnnotations()
AnnotatedElementgetAnnotations in interface AnnotatedElementpublic <T extends Annotation> T getAnnotation(Class<T> annotationType)
AnnotatedElementnull if no annotation with the specified type is present
(including inherited annotations).getAnnotation in interface AnnotatedElementannotationType - the type of the annotation to search fornull