Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

java::lang::reflect::AccessibleObject Class Reference

The AccessibleObject class is the base class for Field, Method and Constructor objects. More...

#include <java_lang_reflect_AccessibleObject.h>

Inheritance diagram for java::lang::reflect::AccessibleObject:

Inheritance graph
[legend]
Collaboration diagram for java::lang::reflect::AccessibleObject:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  xmogDefaultFlags = xmog_base::GLOBAL, xmogMajorVersion = 3, xmogMinorVersion = 2, xmogPatchVersion = 9,
  xmogBuildNumber = 2047
}
typedef ::xmog_java_array_template<
::java::lang::reflect::AccessibleObject
array1D
typedef ::xmog_java_array_template<
::xmog_java_array_template<
::java::lang::reflect::AccessibleObject > > 
array2D

Public Member Functions

 AccessibleObject (::xmog_dummy _use_java_ctor,::xmog_localenv *p_xenv=NULL, xmog_flags f_xflags=xmogDefaultFlags)
 Constructor: only used by the Java Virtual Machine.
virtual bool isAccessible (::xmog_localenv *p_xenv=NULL, xmog_flags f_xflags=xmogDefaultFlags)
 Get the value of the accessible flag for this object.
virtual void setAccessible (bool flag,::xmog_localenv *p_xenv=NULL, xmog_flags f_xflags=xmogDefaultFlags)
 Set the accessible flag for this object to the indicated boolean value.

Static Public Member Functions

static void setAccessible (const ::xmog_java_array_template< ::java::lang::reflect::AccessibleObject > &_array, bool flag,::xmog_localenv *p_xenv=NULL, xmog_flags f_xflags=xmogDefaultFlags)
 Convenience method to set the accessible flag for an array of objects with a single security check (for efficiency).

Detailed Description

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.


Constructor & Destructor Documentation

java::lang::reflect::AccessibleObject::AccessibleObject ::xmog_dummy  _use_java_ctor,
::xmog_localenv p_xenv = NULL,
xmog_flags  f_xflags = xmogDefaultFlags
 

Constructor: only used by the Java Virtual Machine.

Parameters:
_use_java_ctor indicates that you want to delegate to a Java constructor whose natural proxy conflicts with a C++ requirement.
p_xenv the local call environment. The default value is NULL.
f_xflags the flags that allow control over the reference type and other internal matters. The default value is xmog_base::GLOBAL.


Member Function Documentation

virtual bool java::lang::reflect::AccessibleObject::isAccessible ::xmog_localenv p_xenv = NULL,
xmog_flags  f_xflags = xmogDefaultFlags
[virtual]
 

Get the value of the accessible flag for this object.

Parameters:
p_xenv the local call environment. The default value is NULL.
f_xflags the flags that allow control over the reference type and other internal matters. The default value is xmog_base::GLOBAL.
Returns:
the value of the object's accessible flag

static void java::lang::reflect::AccessibleObject::setAccessible const ::xmog_java_array_template< ::java::lang::reflect::AccessibleObject > &  _array,
bool  flag,
::xmog_localenv p_xenv = NULL,
xmog_flags  f_xflags = xmogDefaultFlags
[static]
 

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 object for the 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
p_xenv the local call environment. The default value is NULL.
f_xflags the flags that allow control over the reference type and other internal matters. The default value is xmog_base::GLOBAL.
Returns:

virtual void java::lang::reflect::AccessibleObject::setAccessible bool  flag,
::xmog_localenv p_xenv = NULL,
xmog_flags  f_xflags = xmogDefaultFlags
[virtual]
 

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 object for the class ).

A SecurityException is raised if this object is a object for the class java.lang.Class, and flag is true.

Parameters:
flag the new value for the accessible flag
p_xenv the local call environment. The default value is NULL.
f_xflags the flags that allow control over the reference type and other internal matters. The default value is xmog_base::GLOBAL.
Returns:


The documentation for this class was generated from the following file:
Generated on Fri Jun 16 10:19:35 2006 for JMS Courier for C++ by  doxygen 1.4.1