public class AccessibleObject extends Object implements AnnotatedElement
Setting the accessible flag in a reflected object
 permits sophisticated applications with sufficient privilege, such
 as Java Object Serialization or other persistence mechanisms, to
 manipulate objects in a manner that would normally be prohibited.
 
By default, a reflected object is not accessible.
Field, 
Method, 
Constructor, 
ReflectPermission| Modifier | Constructor and Description | 
|---|---|
| protected  | AccessibleObject()Constructor: only used by the Java Virtual Machine. | 
| Modifier and Type | Method and Description | 
|---|---|
| <T extends Annotation> | getAnnotation(Class<T> annotationClass)Returns this element's annotation for the specified type if
 such an annotation is present, else null. | 
| Annotation[] | getAnnotations()Returns annotations that are present on this element. | 
| <T extends Annotation> | getAnnotationsByType(Class<T> annotationClass)Returns annotations that are associated with this element. | 
| <T extends Annotation> | getDeclaredAnnotation(Class<T> annotationClass)Returns this element's annotation for the specified type if
 such an annotation is directly present, else null. | 
| Annotation[] | getDeclaredAnnotations()Returns annotations that are directly present on this element. | 
| <T extends Annotation> | getDeclaredAnnotationsByType(Class<T> annotationClass)Returns this element's annotation(s) for the specified type if
 such annotations are either directly present or
 indirectly present. | 
| boolean | isAccessible()Get the value of the  accessibleflag for this object. | 
| boolean | isAnnotationPresent(Class<? extends Annotation> annotationClass)Returns true if an annotation for the specified type
 is present on this element, else false. | 
| static void | setAccessible(AccessibleObject[] array,
             boolean flag)Convenience method to set the  accessibleflag for an
 array of objects with a single security check (for efficiency). | 
| void | setAccessible(boolean flag)Set the  accessibleflag for this object to
 the indicated boolean value. | 
protected AccessibleObject()
public static void setAccessible(AccessibleObject[] array, boolean flag) throws SecurityException
accessible flag for an
 array of objects with a single security check (for efficiency).
 First, if there is a security manager, its
 checkPermission method is called with a
 ReflectPermission("suppressAccessChecks") permission.
 
A SecurityException is raised if flag is
 true but accessibility of any of the elements of the input
 array may not be changed (for example, if the element
 object is a Constructor object for the class Class).  In the event of such a SecurityException, the
 accessibility of objects is set to flag for array elements
 upto (and excluding) the element for which the exception occurred; the
 accessibility of elements beyond (and including) the element for which
 the exception occurred is unchanged.
array - the array of AccessibleObjectsflag - the new value for the accessible flag
              in each objectSecurityException - if the request is denied.SecurityManager.checkPermission(java.security.Permission), 
RuntimePermissionpublic void setAccessible(boolean flag)
                   throws SecurityException
accessible flag for this object to
 the indicated boolean value.  A value of true indicates that
 the reflected object should suppress Java language access
 checking when it is used.  A value of false indicates
 that the reflected object should enforce Java language access checks.
 First, if there is a security manager, its
 checkPermission method is called with a
 ReflectPermission("suppressAccessChecks") permission.
 
A SecurityException is raised if flag is
 true but accessibility of this object may not be changed
 (for example, if this element object is a Constructor object for
 the class Class).
 
A SecurityException is raised if this object is a Constructor object for the class
 java.lang.Class, and flag is true.
flag - the new value for the accessible flagSecurityException - if the request is denied.SecurityManager.checkPermission(java.security.Permission), 
RuntimePermissionpublic boolean isAccessible()
accessible flag for this object.accessible flagpublic <T extends Annotation> T getAnnotation(Class<T> annotationClass)
AnnotatedElementgetAnnotation in interface AnnotatedElementT - the type of the annotation to query for and return if presentannotationClass - the Class object corresponding to the
        annotation typeNullPointerException - if the given annotation class is nullpublic boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
The truth value returned by this method is equivalent to:
 getAnnotation(annotationClass) != null
 
The body of the default method is specified to be the code above.
isAnnotationPresent in interface AnnotatedElementannotationClass - the Class object corresponding to the
        annotation typeNullPointerException - if the given annotation class is nullpublic <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
AnnotatedElementAnnotatedElement.getAnnotation(Class)
 is that this method detects if its argument is a repeatable
 annotation type (JLS 9.6), and if so, attempts to find one or
 more annotations of that type by "looking through" a container
 annotation.
 The caller of this method is free to modify the returned array; it will
 have no effect on the arrays returned to other callers.getAnnotationsByType in interface AnnotatedElementT - the type of the annotation to query for and return if presentannotationClass - the Class object corresponding to the
        annotation typeNullPointerException - if the given annotation class is nullpublic Annotation[] getAnnotations()
AnnotatedElementgetAnnotations in interface AnnotatedElementpublic <T extends Annotation> T getDeclaredAnnotation(Class<T> annotationClass)
AnnotatedElementgetDeclaredAnnotation in interface AnnotatedElementT - the type of the annotation to query for and return if directly presentannotationClass - the Class object corresponding to the
        annotation typeNullPointerException - if the given annotation class is nullpublic <T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotationClass)
AnnotatedElementAnnotatedElement.getDeclaredAnnotation(Class) is that this method detects if its
 argument is a repeatable annotation type (JLS 9.6), and if so,
 attempts to find one or more annotations of that type by "looking
 through" a container annotation if one is present.
 The caller of this method is free to modify the returned array; it will
 have no effect on the arrays returned to other callers.getDeclaredAnnotationsByType in interface AnnotatedElementT - the type of the annotation to query for and return
 if directly or indirectly presentannotationClass - the Class object corresponding to the
        annotation typeNullPointerException - if the given annotation class is nullpublic Annotation[] getDeclaredAnnotations()
AnnotatedElementgetDeclaredAnnotations in interface AnnotatedElement Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.