Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| J2ME CDC
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.lang.reflect
Class AccessibleObject

    java.lang.Object
      |
      +--java.lang.reflect.AccessibleObject

Direct Known Subclasses:
  Constructor, Field, Method

public class AccessibleObject
extends Object

The AccessibleObject class is the base class for Field, Method and Constructor objects. It provides the ability to flag a reflected object as suppressing default Java language access control checks when it is used. The access checks--for public, default (package) access, protected, and private members--are performed when Fields, Methods or Constructors are used to set or get fields, to invoke methods, or to create and initialize new instances of classes, respectively.

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.

Since:
  1.2
See Also:
  `Field`, `Method`, `Constructor`, `ReflectPermission`

Constructor Summary
`protected` | `AccessibleObject()` Constructor: only used by the Java Virtual Machine.

Method Summary
`boolean` | `isAccessible()` Get the value of the `accessible` flag for this object.
`static void` | `setAccessible(AccessibleObject[] array, boolean flag)` Convenience method to set the `accessible` flag for an array of objects with a single security check (for efficiency).
`void` | `setAccessible(boolean flag)` Set the `accessible` flag for this object to the indicated boolean value.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AccessibleObject

    protected AccessibleObject()

  Constructor: only used by the Java Virtual Machine.

Method Detail

### setAccessible

    public static void setAccessible(AccessibleObject[] array,
                                     boolean flag)
                              throws SecurityException

  Convenience method to set the `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 accessiblity of objects is set to `flag` for array elements upto (and excluding) the element for which the exception occurred; the accessiblity of elements beyond (and including) the element for which the exception occurred is unchanged.

  Parameters:
    `array` - the array of AccessibleObjects
    `flag` - the new value for the `accessible` flag in each object
  Throws:
    `SecurityException` - if the request is denied.
  See Also:
    `SecurityManager.checkPermission(java.security.Permission)`, `RuntimePermission`

### setAccessible

    public void setAccessible(boolean flag)
                       throws SecurityException

  Set the `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.

  Parameters:
    `flag` - the new value for the `accessible` flag
  Throws:
    `SecurityException` - if the request is denied.
  See Also:
    `SecurityManager.checkPermission(java.security.Permission)`, `RuntimePermission`

### isAccessible

    public boolean isAccessible()

  Get the value of the `accessible` flag for this object.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| J2ME CDC
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Java is a trademark or registred trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo, Alto, California, 94303, U.S.A All Rights Reserved.