org.apache.openjpa.lib.util
Class J2DoPrivHelper

java.lang.Object
  extended by org.apache.openjpa.lib.util.J2DoPrivHelper

public abstract class J2DoPrivHelper
extends java.lang.Object

Helper class to obtain the Privilege(Exception)Action object to perform Java 2 doPrivilege security sensitive function call in the following methods:

If these methods are used, the following sample usage patterns should be followed to ensure proper privilege is granted: 1) No security risk method call. E.g. private static final String SEP = J2DoPrivHelper.getLineSeparator(); 2) Methods with no exception thrown. PrivilegedAction is returned from J2DoPrivHelper.*Action(). E.g. ClassLoader loader = (ClassLoader) AccessController.doPrivileged( J2DoPrivHelper.getClassLoaderAction(clazz)); ClassLoader loader = (ClassLoader) (System.getSecurityManager() == null) ? clazz.getClassLoader() : AccessController.doPrivileged( J2DoPrivHelper.getClassLoaderAction(clazz)); 3) Methods with exception thrown. PrivilegedExceptionAction is returned from J2DoPrivHelper.*Action(). E.g. try { method = (Method) AccessController.doPrivileged( J2DoPrivHelper.getDeclaredMethodAction(clazz, name, parameterType)); } catch (PrivilegedActionException pae) { throw (NoSuchMethodException) pae.getException(); } try { method = (System.getSecurityManager() == null) ? clazz.getDeclaredMethod(name,parameterType) : (Method) AccessController.doPrivileged( J2DoPrivHelper.getDeclaredMethodAction( clazz, name, parameterType)); } catch (PrivilegedActionException pae) { throw (NoSuchMethodException) pae.getException() }

Author:
Albert Lee

Constructor Summary
J2DoPrivHelper()
           
 
Method Summary
static java.security.PrivilegedExceptionAction acceptAction(java.net.ServerSocket ss)
          Return a PrivilegedExceptionAction object for ServerSocket.accept().
static java.security.PrivilegedExceptionAction bCClassWrite(serp.bytecode.BCClass bc, java.io.File f)
          Return a PrivilegedExceptionAction object for BCClass.write().
static java.security.PrivilegedAction deleteAction(java.io.File f)
          Return a PrivilegeAction object for f.delete().
static java.security.PrivilegedAction existsAction(java.io.File f)
          Return a PrivilegeAction object for f.exists().
static java.security.PrivilegedAction getAbsoluteFileAction(java.io.File f)
          Return a PrivilegeAction object for f.getAbsoluteFile().
static java.security.PrivilegedAction getAbsolutePathAction(java.io.File f)
          Return a PrivilegeAction object for f.getAbsolutePath().
static java.security.PrivilegedAction getBCClassFieldsAction(serp.bytecode.BCClass bcClass, java.lang.String fieldName)
          Return a PrivilegeAction object for BCClass.getFields().
static java.security.PrivilegedExceptionAction getByNameAction(java.lang.String hostname)
          Return a PrivilegedExceptionAction object for InetAdress.getByName().
static java.security.PrivilegedExceptionAction getCanonicalPathAction(java.io.File f)
          Return a PrivilegedExceptionAction object for f.getCanonicalPath().
static java.security.PrivilegedAction getClassLoaderAction(java.lang.Class clazz)
          Return a PrivilegeAction object for clazz.getClassloader().
static java.security.PrivilegedExceptionAction getContentAction(java.net.URLConnection con)
          Return a PrivilegedExceptionAction object con.getContent().
static java.security.PrivilegedAction getContextClassLoaderAction()
          Return a PrivilegeAction object for Thread.currentThread .getContextClassLoader().
static java.security.PrivilegedExceptionAction getDeclaredFieldAction(java.lang.Class clazz, java.lang.String name)
          Return a PrivilegedExceptionAction object for clazz.getDeclaredField().
static java.security.PrivilegedAction getDeclaredFieldsAction(java.lang.Class clazz)
          Return a PrivilegeAction object for class.getDeclaredFields().
static java.security.PrivilegedExceptionAction getDeclaredMethodAction(java.lang.Class clazz, java.lang.String name, java.lang.Class[] parameterTypes)
          Return a PrivilegedExceptionAction object for clazz.getDeclaredMethod().
static java.security.PrivilegedAction getDeclaredMethodsAction(java.lang.Class clazz)
          Return a PrivilegeAction object for clazz.getDeclaredMethods().
static java.security.PrivilegedAction getFieldInstructionFieldAction(serp.bytecode.FieldInstruction instruction)
          Return a PrivilegeAction object for FieldInstruction.getField().
static java.security.PrivilegedExceptionAction getForNameAction(java.lang.String className, boolean initializeBoolean, java.lang.ClassLoader classLoader)
          Return a PrivilegeAction object for Class.forName().
static java.lang.String getLineSeparator()
          Return the value of the "line.separator" system property.
static java.security.PrivilegedAction getParentAction(java.lang.ClassLoader loader)
          Return a PrivilegeAction object for loader.getParent().
static java.lang.String getPathSeparator()
          Return the value of the "path.separator" system property.
static java.security.PrivilegedAction getPropertiesAction()
          Return a PrivilegeAction object for System.getProperties().
static java.security.PrivilegedAction getPropertyAction(java.lang.String name)
          Return a PrivilegeAction object for System.getProperty().
static java.security.PrivilegedAction getResourceAction(java.lang.ClassLoader loader, java.lang.String resource)
          Return a PrivilegeAction object for loader.getResource().
static java.security.PrivilegedAction getResourceAction(java.lang.Class clazz, java.lang.String resource)
          Return a PrivilegeAction object for clazz.getResource().
static java.security.PrivilegedExceptionAction getResourcesAction(java.lang.ClassLoader loader, java.lang.String resource)
          Return a PrivilegedExceptionAction object for loader.getResources().
static java.security.PrivilegedAction getSystemClassLoaderAction()
          Return a PrivilegeAction object for ClassLoader.getSystemClassLoader().
static java.security.PrivilegedAction isDirectoryAction(java.io.File f)
          Return a PrivilegeAction object for f.isDirectory().
static java.security.PrivilegedAction isFileAction(java.io.File f)
          Return a PrivilegeAction object for f.isFile().
static java.security.PrivilegedAction lengthAction(java.io.File f)
          Return a PrivilegeAction object for f.length().
static java.security.PrivilegedAction listFilesAction(java.io.File f)
          Return a PrivilegeAction object for f.listFiles().
static java.security.PrivilegedAction loadProjectClassAction(serp.bytecode.Project project, java.lang.Class clazz)
          Return a PrivilegeAction object for Project.loadClass().
static java.security.PrivilegedAction loadProjectClassAction(serp.bytecode.Project project, java.lang.String clazzName)
          Return a PrivilegeAction object for Project.loadClass().
static java.security.PrivilegedAction mkdirsAction(java.io.File f)
          Return a PrivilegeAction object for f.mkdirs().
static java.security.PrivilegedAction newBCClassLoaderAction(serp.bytecode.Project project)
           
static java.security.PrivilegedAction newBCClassLoaderAction(serp.bytecode.Project project, java.lang.ClassLoader parent)
          Return a PrivilegeAction object for new BCClassLoader().
static java.security.PrivilegedAction newCodeAction()
          Return a PrivilegeAction object for new serp.bytecode.Code().
static java.security.PrivilegedAction newDaemonThreadAction(java.lang.Runnable target, java.lang.String name)
          Return a PrivilegedAction object for new Thread().
static java.security.PrivilegedExceptionAction newFileInputStreamAction(java.io.File f)
          Return a PrivilegedExceptionAction object for new FileInputStream().
static java.security.PrivilegedExceptionAction newFileOutputStreamAction(java.io.File f)
          Return a PrivilegedExceptionAction object for new FileOutputStream().
static java.security.PrivilegedExceptionAction newFileOutputStreamAction(java.lang.String f, boolean append)
          Return a PrivilegedExceptionAction object for new FileOutputStream().
static java.security.PrivilegedExceptionAction newInstanceAction(java.lang.Class clazz)
          Return a PrivilegedExceptionAction object for clazz.newInstance().
static java.security.PrivilegedAction newMultiClassLoaderAction()
          Return a PrivilegeAction object for new MultiClassLoader().
static java.security.PrivilegedExceptionAction newServerSocketAction(int port)
          Return a PrivilegedExceptionAction object for new ServerSocket().
static java.security.PrivilegedExceptionAction newSocketAction(java.net.InetAddress host, int port)
          Return a PrivilegedExceptionAction object for new Socket().
static java.security.PrivilegedAction newTemporaryClassLoaderAction(java.lang.ClassLoader parent)
          Return a PrivilegeAction object for new TemporaryClassLoader().
static java.security.PrivilegedExceptionAction newZipFileAction(java.io.File f)
          Return a PrivilegedExceptionAction object for new ZipFile().
static java.security.PrivilegedExceptionAction openStreamAction(java.net.URL url)
          Return a PrivilegedExceptionAction object for url.openStream().
static java.security.PrivilegedAction renameToAction(java.io.File from, java.io.File to)
          Return a PrivilegeAction object for f.renameTo().
static java.security.PrivilegedAction setAccessibleAction(java.lang.reflect.AccessibleObject aObj, boolean flag)
          Return a PrivilegeAction object for aObj.setAccessible().
static java.security.PrivilegedExceptionAction toURLAction(java.io.File file)
          Return a PrivilegedExceptionAction object for f.toURL().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

J2DoPrivHelper

public J2DoPrivHelper()
Method Detail

getLineSeparator

public static final java.lang.String getLineSeparator()
Return the value of the "line.separator" system property. Requires security policy: 'permission java.util.PropertyPermission "read";'


getPathSeparator

public static final java.lang.String getPathSeparator()
Return the value of the "path.separator" system property. Requires security policy: 'permission java.util.PropertyPermission "read";'


setAccessibleAction

public static final java.security.PrivilegedAction setAccessibleAction(java.lang.reflect.AccessibleObject aObj,
                                                                       boolean flag)
Return a PrivilegeAction object for aObj.setAccessible(). Requires security policy: 'permission java.lang.reflect.ReflectPermission "suppressAccessChecks";'


getForNameAction

public static final java.security.PrivilegedExceptionAction getForNameAction(java.lang.String className,
                                                                             boolean initializeBoolean,
                                                                             java.lang.ClassLoader classLoader)
Return a PrivilegeAction object for Class.forName(). Notes: doPriv of Class.forName call is required only if the input classloader argument is null. E.g. Class.forName("x", false, Collection.class.getClassLoader()); Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
Classloader

getClassLoaderAction

public static final java.security.PrivilegedAction getClassLoaderAction(java.lang.Class clazz)
Return a PrivilegeAction object for clazz.getClassloader(). Notes: No doPrivilege wrapping is required in the caller if: "the caller's class loader is not null and the caller's class loader is not the same as or an ancestor of the class loader for the class whose class loader is requested". E.g. this.getClass().getClassLoader(); Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
Classloader

getDeclaredFieldAction

public static final java.security.PrivilegedExceptionAction getDeclaredFieldAction(java.lang.Class clazz,
                                                                                   java.lang.String name)
Return a PrivilegedExceptionAction object for clazz.getDeclaredField(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Field
Throws:
java.lang.NoSuchFieldException

getDeclaredFieldsAction

public static final java.security.PrivilegedAction getDeclaredFieldsAction(java.lang.Class clazz)
Return a PrivilegeAction object for class.getDeclaredFields(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Field[]

getDeclaredMethodAction

public static final java.security.PrivilegedExceptionAction getDeclaredMethodAction(java.lang.Class clazz,
                                                                                    java.lang.String name,
                                                                                    java.lang.Class[] parameterTypes)
Return a PrivilegedExceptionAction object for clazz.getDeclaredMethod(). Requires security policy 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Method
Throws:
java.lang.NoSuchMethodException

getDeclaredMethodsAction

public static final java.security.PrivilegedAction getDeclaredMethodsAction(java.lang.Class clazz)
Return a PrivilegeAction object for clazz.getDeclaredMethods(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Method[]

getResourceAction

public static final java.security.PrivilegedAction getResourceAction(java.lang.Class clazz,
                                                                     java.lang.String resource)
Return a PrivilegeAction object for clazz.getResource(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
URL

newInstanceAction

public static final java.security.PrivilegedExceptionAction newInstanceAction(java.lang.Class clazz)
                                                                       throws java.lang.IllegalAccessException,
                                                                              java.lang.InstantiationException
Return a PrivilegedExceptionAction object for clazz.newInstance(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
Object
Throws:
java.lang.IllegalAccessException
java.lang.InstantiationException

getParentAction

public static final java.security.PrivilegedAction getParentAction(java.lang.ClassLoader loader)
Return a PrivilegeAction object for loader.getParent(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
ClassLoader

getResourceAction

public static final java.security.PrivilegedAction getResourceAction(java.lang.ClassLoader loader,
                                                                     java.lang.String resource)
Return a PrivilegeAction object for loader.getResource(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
URL

getResourcesAction

public static final java.security.PrivilegedExceptionAction getResourcesAction(java.lang.ClassLoader loader,
                                                                               java.lang.String resource)
                                                                        throws java.io.IOException
Return a PrivilegedExceptionAction object for loader.getResources(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Enumeration
Throws:
java.io.IOException

getSystemClassLoaderAction

public static final java.security.PrivilegedAction getSystemClassLoaderAction()
Return a PrivilegeAction object for ClassLoader.getSystemClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
ClassLoader

deleteAction

public static final java.security.PrivilegedAction deleteAction(java.io.File f)
Return a PrivilegeAction object for f.delete(). Requires security policy: 'permission java.io.FilePermission "delete";'

Returns:
Boolean

existsAction

public static final java.security.PrivilegedAction existsAction(java.io.File f)
Return a PrivilegeAction object for f.exists(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Boolean

getAbsoluteFileAction

public static final java.security.PrivilegedAction getAbsoluteFileAction(java.io.File f)
Return a PrivilegeAction object for f.getAbsoluteFile(). Requires security policy: 'permission java.util.PropertyPermission "read";'

Returns:
File

getAbsolutePathAction

public static final java.security.PrivilegedAction getAbsolutePathAction(java.io.File f)
Return a PrivilegeAction object for f.getAbsolutePath(). Requires security policy: 'permission java.util.PropertyPermission "read";'

Returns:
String

getCanonicalPathAction

public static final java.security.PrivilegedExceptionAction getCanonicalPathAction(java.io.File f)
                                                                            throws java.io.IOException
Return a PrivilegedExceptionAction object for f.getCanonicalPath(). Requires security policy: 'permission java.util.PropertyPermission "read";'

Returns:
String
Throws:
java.io.IOException

isDirectoryAction

public static final java.security.PrivilegedAction isDirectoryAction(java.io.File f)
Return a PrivilegeAction object for f.isDirectory(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Boolean

isFileAction

public static final java.security.PrivilegedAction isFileAction(java.io.File f)
Return a PrivilegeAction object for f.isFile(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Boolean

lengthAction

public static final java.security.PrivilegedAction lengthAction(java.io.File f)
Return a PrivilegeAction object for f.length(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Long

listFilesAction

public static final java.security.PrivilegedAction listFilesAction(java.io.File f)
Return a PrivilegeAction object for f.listFiles(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
File[]

mkdirsAction

public static final java.security.PrivilegedAction mkdirsAction(java.io.File f)
Return a PrivilegeAction object for f.mkdirs(). Requires security policy: 'permission java.io.FilePermission "write";'

Returns:
Boolean

renameToAction

public static final java.security.PrivilegedAction renameToAction(java.io.File from,
                                                                  java.io.File to)
Return a PrivilegeAction object for f.renameTo(). Requires security policy: 'permission java.io.FilePermission "write";'

Returns:
Boolean

toURLAction

public static final java.security.PrivilegedExceptionAction toURLAction(java.io.File file)
                                                                 throws java.net.MalformedURLException
Return a PrivilegedExceptionAction object for f.toURL(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Boolean
Throws:
java.net.MalformedURLException

newFileInputStreamAction

public static final java.security.PrivilegedExceptionAction newFileInputStreamAction(java.io.File f)
                                                                              throws java.io.FileNotFoundException
Return a PrivilegedExceptionAction object for new FileInputStream(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
FileInputStream
Throws:
java.io.FileNotFoundException

newFileOutputStreamAction

public static final java.security.PrivilegedExceptionAction newFileOutputStreamAction(java.io.File f)
                                                                               throws java.io.FileNotFoundException
Return a PrivilegedExceptionAction object for new FileOutputStream(). Requires security policy: 'permission java.io.FilePermission "write";'

Returns:
FileOutputStream
Throws:
java.io.FileNotFoundException

newFileOutputStreamAction

public static final java.security.PrivilegedExceptionAction newFileOutputStreamAction(java.lang.String f,
                                                                                      boolean append)
                                                                               throws java.io.FileNotFoundException
Return a PrivilegedExceptionAction object for new FileOutputStream(). Requires security policy: 'permission java.io.FilePermission "write";'

Returns:
FileOutputStream
Throws:
java.io.FileNotFoundException

getByNameAction

public static final java.security.PrivilegedExceptionAction getByNameAction(java.lang.String hostname)
                                                                     throws java.net.UnknownHostException
Return a PrivilegedExceptionAction object for InetAdress.getByName(). Requires security policy: 'permission java.net.SocketPermission "connect";'

Returns:
InetAddress
Throws:
java.net.UnknownHostException

newSocketAction

public static final java.security.PrivilegedExceptionAction newSocketAction(java.net.InetAddress host,
                                                                            int port)
                                                                     throws java.io.IOException
Return a PrivilegedExceptionAction object for new Socket(). Requires security policy: 'permission java.net.SocketPermission "connect";'

Returns:
Socket
Throws:
java.io.IOException

newServerSocketAction

public static final java.security.PrivilegedExceptionAction newServerSocketAction(int port)
                                                                           throws java.io.IOException
Return a PrivilegedExceptionAction object for new ServerSocket(). Requires security policy: 'permission java.net.SocketPermission "listen";'

Returns:
ServerSocket
Throws:
java.io.IOException

acceptAction

public static final java.security.PrivilegedExceptionAction acceptAction(java.net.ServerSocket ss)
                                                                  throws java.io.IOException
Return a PrivilegedExceptionAction object for ServerSocket.accept(). Requires security policy: 'permission java.net.SocketPermission "listen";'

Returns:
Socket
Throws:
java.io.IOException

getPropertiesAction

public static final java.security.PrivilegedAction getPropertiesAction()
Return a PrivilegeAction object for System.getProperties(). Requires security policy: 'permission java.util.PropertyPermission "read";'

Returns:
Properties

getPropertyAction

public static final java.security.PrivilegedAction getPropertyAction(java.lang.String name)
Return a PrivilegeAction object for System.getProperty(). Requires security policy: 'permission java.util.PropertyPermission "read";'

Returns:
String

getContextClassLoaderAction

public static final java.security.PrivilegedAction getContextClassLoaderAction()
Return a PrivilegeAction object for Thread.currentThread .getContextClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
ClassLoader

newDaemonThreadAction

public static final java.security.PrivilegedAction newDaemonThreadAction(java.lang.Runnable target,
                                                                         java.lang.String name)
Return a PrivilegedAction object for new Thread(). Requires security policy: 'permission java.lang.RuntimePermission "modifyThreadGroup";' 'permission java.lang.RuntimePermission "modifyThread";'

Returns:
Thread

openStreamAction

public static final java.security.PrivilegedExceptionAction openStreamAction(java.net.URL url)
                                                                      throws java.io.IOException
Return a PrivilegedExceptionAction object for url.openStream(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
InputStream
Throws:
java.io.IOException

getContentAction

public static final java.security.PrivilegedExceptionAction getContentAction(java.net.URLConnection con)
                                                                      throws java.io.IOException
Return a PrivilegedExceptionAction object con.getContent(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
Object
Throws:
java.io.IOException

newZipFileAction

public static final java.security.PrivilegedExceptionAction newZipFileAction(java.io.File f)
                                                                      throws java.io.IOException
Return a PrivilegedExceptionAction object for new ZipFile(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
ZipFile
Throws:
java.io.IOException

newCodeAction

public static final java.security.PrivilegedAction newCodeAction()
Return a PrivilegeAction object for new serp.bytecode.Code(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
serp.bytecode.Code

newTemporaryClassLoaderAction

public static final java.security.PrivilegedAction newTemporaryClassLoaderAction(java.lang.ClassLoader parent)
Return a PrivilegeAction object for new TemporaryClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'

Returns:
TemporaryClassLoader

newMultiClassLoaderAction

public static final java.security.PrivilegedAction newMultiClassLoaderAction()
Return a PrivilegeAction object for new MultiClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'

Returns:
MultiClassLoader

newBCClassLoaderAction

public static final java.security.PrivilegedAction newBCClassLoaderAction(serp.bytecode.Project project,
                                                                          java.lang.ClassLoader parent)
Return a PrivilegeAction object for new BCClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'

Returns:
BCClassLoader

newBCClassLoaderAction

public static final java.security.PrivilegedAction newBCClassLoaderAction(serp.bytecode.Project project)

bCClassWrite

public static final java.security.PrivilegedExceptionAction bCClassWrite(serp.bytecode.BCClass bc,
                                                                         java.io.File f)
                                                                  throws java.io.IOException
Return a PrivilegedExceptionAction object for BCClass.write(). Requires security policy: 'permission java.io.FilePermission "write";'

Returns:
File
Throws:
java.io.IOException

getBCClassFieldsAction

public static final java.security.PrivilegedAction getBCClassFieldsAction(serp.bytecode.BCClass bcClass,
                                                                          java.lang.String fieldName)
Return a PrivilegeAction object for BCClass.getFields(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
BCField

getFieldInstructionFieldAction

public static final java.security.PrivilegedAction getFieldInstructionFieldAction(serp.bytecode.FieldInstruction instruction)
Return a PrivilegeAction object for FieldInstruction.getField(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
BCField

loadProjectClassAction

public static final java.security.PrivilegedAction loadProjectClassAction(serp.bytecode.Project project,
                                                                          java.lang.Class clazz)
Return a PrivilegeAction object for Project.loadClass(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'

Returns:
BCClass

loadProjectClassAction

public static final java.security.PrivilegedAction loadProjectClassAction(serp.bytecode.Project project,
                                                                          java.lang.String clazzName)
Return a PrivilegeAction object for Project.loadClass(). Requires security policy: 'permission java.lang.RuntimePermission "getClassLoader";'

Returns:
BCClass


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.