org.apache.openjpa.lib.util
Class J2DoPrivHelper

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

public abstract class J2DoPrivHelper
extends 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 = 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 = AccessController.doPrivileged(
        J2DoPrivHelper.getDeclaredMethodAction(clazz, name, parameterType));
    } catch (PrivilegedActionException pae) {
      throw (NoSuchMethodException) pae.getException();
    }
    
    try {
      method = (System.getSecurityManager() == null)
        ? clazz.getDeclaredMethod(name,parameterType)
        : AccessController.doPrivileged(
            J2DoPrivHelper.getDeclaredMethodAction(
              clazz, name, parameterType));
    } catch (PrivilegedActionException pae) {
        throw (NoSuchMethodException) pae.getException()
    }                               
 

Author:
Albert Lee

Constructor Summary
J2DoPrivHelper()
           
 
Method Summary
static PrivilegedExceptionAction<Socket> acceptAction(ServerSocket ss)
          Return a PrivilegedExceptionAction object for ServerSocket.accept().
static PrivilegedExceptionAction<Object> bCClassWrite(serp.bytecode.BCClass bc, File f)
          Return a PrivilegedExceptionAction object for BCClass.write().
static
<T> PrivilegedAction<ValidatorFactory>
buildDefaultValidatorFactoryAction()
          Return a PrivilegeAction object for javax.validation.Validation.buildDefaultValidatorFactory().
static PrivilegedAction<Boolean> deleteAction(File f)
          Return a PrivilegeAction object for f.delete().
static PrivilegedAction<Boolean> deleteOnExitAction(File f)
          Return a PrivilegeAction object for f.deleteOnExit().
static PrivilegedAction<Boolean> existsAction(File f)
          Return a PrivilegeAction object for f.exists().
static PrivilegedAction<File> getAbsoluteFileAction(File f)
          Return a PrivilegeAction object for f.getAbsoluteFile().
static PrivilegedAction<String> getAbsolutePathAction(File f)
          Return a PrivilegeAction object for f.getAbsolutePath().
static
<T extends Annotation>
PrivilegedAction<T>
getAnnotationAction(AnnotatedElement element, Class<T> annotationClazz)
          Return a PrivilegedAction object for AnnotatedElement.getAnnotation().
static PrivilegedAction<Annotation[]> getAnnotationsAction(AnnotatedElement element)
          Return a PrivilegeAction object for AnnotatedElement.getAnnotations().
static PrivilegedAction<serp.bytecode.BCField[]> getBCClassFieldsAction(serp.bytecode.BCClass bcClass, String fieldName)
          Return a PrivilegeAction object for BCClass.getFields().
static PrivilegedExceptionAction<InetAddress> getByNameAction(String hostname)
          Return a PrivilegedExceptionAction object for InetAdress.getByName().
static PrivilegedExceptionAction<String> getCanonicalPathAction(File f)
          Return a PrivilegedExceptionAction object for f.getCanonicalPath().
static PrivilegedAction<ClassLoader> getClassLoaderAction(Class<?> clazz)
          Return a PrivilegeAction object for clazz.getClassloader().
static PrivilegedExceptionAction<Object> getContentAction(URLConnection con)
          Return a PrivilegedExceptionAction object con.getContent().
static PrivilegedAction<ClassLoader> getContextClassLoaderAction()
          Return a PrivilegeAction object for Thread.currentThread .getContextClassLoader().
static PrivilegedAction<Annotation[]> getDeclaredAnnotationsAction(AnnotatedElement element)
          Return a PrivilegeAction object for AnnotatedElement.getDeclaredAnnotations().
static PrivilegedExceptionAction<Field> getDeclaredFieldAction(Class<?> clazz, String name)
          Return a PrivilegedExceptionAction object for clazz.getDeclaredField().
static PrivilegedAction<Field[]> getDeclaredFieldsAction(Class<?> clazz)
          Return a PrivilegeAction object for class.getDeclaredFields().
static PrivilegedExceptionAction<Method> getDeclaredMethodAction(Class<?> clazz, String name, Class<?>[] parameterTypes)
          Return a PrivilegedExceptionAction object for clazz.getDeclaredMethod().
static PrivilegedAction<Method[]> getDeclaredMethodsAction(Class<?> clazz)
          Return a PrivilegeAction object for clazz.getDeclaredMethods().
static PrivilegedAction<serp.bytecode.BCField> getFieldInstructionFieldAction(serp.bytecode.FieldInstruction instruction)
          Return a PrivilegeAction object for FieldInstruction.getField().
static PrivilegedExceptionAction<Class<?>> getForNameAction(String className, boolean initializeBoolean, ClassLoader classLoader)
          Return a PrivilegeAction object for Class.forName().
static String getLineSeparator()
          Return the value of the "line.separator" system property.
static PrivilegedAction<ClassLoader> getParentAction(ClassLoader loader)
          Return a PrivilegeAction object for loader.getParent().
static String getPathSeparator()
          Return the value of the "path.separator" system property.
static PrivilegedAction<Properties> getPropertiesAction()
          Return a PrivilegeAction object for System.getProperties().
static PrivilegedAction<String> getPropertyAction(String name)
          Return a PrivilegeAction object for System.getProperty().
static PrivilegedAction<String> getPropertyAction(String name, String def)
          Return a PrivilegeAction object for System.getProperty().
static PrivilegedAction<URL> getResourceAction(Class<?> clazz, String resource)
          Return a PrivilegeAction object for clazz.getResource().
static PrivilegedAction<URL> getResourceAction(ClassLoader loader, String resource)
          Return a PrivilegeAction object for loader.getResource().
static PrivilegedExceptionAction<Enumeration<URL>> getResourcesAction(ClassLoader loader, String resource)
          Return a PrivilegedExceptionAction object for loader.getResources().
static PrivilegedAction<ClassLoader> getSystemClassLoaderAction()
          Return a PrivilegeAction object for ClassLoader.getSystemClassLoader().
static PrivilegedAction<Boolean> isAnnotationPresentAction(AnnotatedElement element, Class<? extends Annotation> annotationClazz)
          Return a PrivilegeAction object for AnnotatedElement.isAnnotationPresent().
static PrivilegedAction<Boolean> isDirectoryAction(File f)
          Return a PrivilegeAction object for f.isDirectory().
static PrivilegedAction<Boolean> isFileAction(File f)
          Return a PrivilegeAction object for f.isFile().
static PrivilegedAction<Long> lengthAction(File f)
          Return a PrivilegeAction object for f.length().
static PrivilegedAction<File[]> listFilesAction(File f)
          Return a PrivilegeAction object for f.listFiles().
static PrivilegedAction<serp.bytecode.BCClass> loadProjectClassAction(serp.bytecode.Project project, Class<?> clazz)
          Return a PrivilegeAction object for Project.loadClass().
static PrivilegedAction<serp.bytecode.BCClass> loadProjectClassAction(serp.bytecode.Project project, String clazzName)
          Return a PrivilegeAction object for Project.loadClass().
static PrivilegedAction<Boolean> mkdirsAction(File f)
          Return a PrivilegeAction object for f.mkdirs().
static PrivilegedAction<serp.bytecode.BCClassLoader> newBCClassLoaderAction(serp.bytecode.Project project)
           
static PrivilegedAction<serp.bytecode.BCClassLoader> newBCClassLoaderAction(serp.bytecode.Project project, ClassLoader parent)
          Return a PrivilegeAction object for new BCClassLoader().
static PrivilegedAction<serp.bytecode.Code> newCodeAction()
          Return a PrivilegeAction object for new serp.bytecode.Code().
static PrivilegedAction<Thread> newDaemonThreadAction(Runnable target, String name)
          Return a PrivilegedAction object for new Thread().
static PrivilegedExceptionAction<FileInputStream> newFileInputStreamAction(File f)
          Return a PrivilegedExceptionAction object for new FileInputStream().
static PrivilegedExceptionAction<FileOutputStream> newFileOutputStreamAction(File f)
          Return a PrivilegedExceptionAction object for new FileOutputStream().
static PrivilegedExceptionAction<FileOutputStream> newFileOutputStreamAction(String f, boolean append)
          Return a PrivilegedExceptionAction object for new FileOutputStream().
static
<T> PrivilegedExceptionAction<T>
newInstanceAction(Class<T> clazz)
          Return a PrivilegedExceptionAction object for clazz.newInstance().
static PrivilegedAction<MultiClassLoader> newMultiClassLoaderAction()
          Return a PrivilegeAction object for new MultiClassLoader().
static PrivilegedExceptionAction<ServerSocket> newServerSocketAction(int port)
          Return a PrivilegedExceptionAction object for new ServerSocket().
static PrivilegedExceptionAction<Socket> newSocketAction(InetAddress host, int port)
          Return a PrivilegedExceptionAction object for new Socket().
static PrivilegedAction<TemporaryClassLoader> newTemporaryClassLoaderAction(ClassLoader parent)
          Return a PrivilegeAction object for new TemporaryClassLoader().
static PrivilegedExceptionAction<ZipFile> newZipFileAction(File f)
          Return a PrivilegedExceptionAction object for new ZipFile().
static PrivilegedExceptionAction<InputStream> openStreamAction(URL url)
          Return a PrivilegedExceptionAction object for url.openStream().
static PrivilegedAction<Boolean> renameToAction(File from, File to)
          Return a PrivilegeAction object for f.renameTo().
static PrivilegedAction<Object> setAccessibleAction(AccessibleObject aObj, boolean flag)
          Return a PrivilegeAction object for aObj.setAccessible().
static PrivilegedAction<Boolean> setContextClassLoaderAction(ClassLoader loader)
          Return a PrivilegeAction object for Thread.currentThread .setContextClassLoader().
static PrivilegedExceptionAction<URL> toURLAction(File file)
          Return a PrivilegedExceptionAction object for f.toURL().
static
<T> PrivilegedAction<Set<ConstraintViolation<T>>>
validateAction(Validator validator, T arg0, Class<?>[] groups)
          Return a PrivilegeAction object for javax.validation.Validator.validate().
 
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 String getLineSeparator()
Return the value of the "line.separator" system property. Requires security policy: 'permission java.util.PropertyPermission "read";'


getPathSeparator

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


setAccessibleAction

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


getForNameAction

public static final PrivilegedExceptionAction<Class<?>> getForNameAction(String className,
                                                                         boolean initializeBoolean,
                                                                         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:
Class

getClassLoaderAction

public static final PrivilegedAction<ClassLoader> getClassLoaderAction(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 PrivilegedExceptionAction<Field> getDeclaredFieldAction(Class<?> clazz,
                                                                            String name)
Return a PrivilegedExceptionAction object for clazz.getDeclaredField(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Field
Throws:
NoSuchFieldException

getDeclaredFieldsAction

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

Returns:
Field[]

getDeclaredMethodAction

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

Returns:
Method
Throws:
NoSuchMethodException

getDeclaredMethodsAction

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

Returns:
Method[]

getResourceAction

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

Returns:
URL

newInstanceAction

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

Returns:
A new instance of the provided class.
Throws:
IllegalAccessException
InstantiationException

getParentAction

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

Returns:
ClassLoader

getResourceAction

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

Returns:
URL

getResourcesAction

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

Returns:
Enumeration
Throws:
IOException

getSystemClassLoaderAction

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

Returns:
ClassLoader

deleteAction

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

Returns:
Boolean

existsAction

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

Returns:
Boolean

deleteOnExitAction

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


getAbsoluteFileAction

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

Returns:
File

getAbsolutePathAction

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

Returns:
String

getCanonicalPathAction

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

Returns:
String
Throws:
IOException

isDirectoryAction

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

Returns:
Boolean

isFileAction

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

Returns:
Boolean

lengthAction

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

Returns:
Long

listFilesAction

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

Returns:
File[]

mkdirsAction

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

Returns:
Boolean

renameToAction

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

Returns:
Boolean

toURLAction

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

Returns:
URL
Throws:
MalformedURLException

newFileInputStreamAction

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

Returns:
FileInputStream
Throws:
FileNotFoundException

newFileOutputStreamAction

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

Returns:
FileOutputStream
Throws:
FileNotFoundException

newFileOutputStreamAction

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

Returns:
FileOutputStream
Throws:
FileNotFoundException

getByNameAction

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

Returns:
InetAddress
Throws:
UnknownHostException

newSocketAction

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

Returns:
Socket
Throws:
IOException

newServerSocketAction

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

Returns:
ServerSocket
Throws:
IOException

acceptAction

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

Returns:
Socket
Throws:
IOException

getPropertiesAction

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

Returns:
Properties

getPropertyAction

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

Returns:
String

getPropertyAction

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

Returns:
String

getContextClassLoaderAction

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

Returns:
ClassLoader

setContextClassLoaderAction

public static final PrivilegedAction<Boolean> setContextClassLoaderAction(ClassLoader loader)
Return a PrivilegeAction object for Thread.currentThread .setContextClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "setContextClassLoader";'

Returns:
ClassLoader

newDaemonThreadAction

public static final PrivilegedAction<Thread> newDaemonThreadAction(Runnable target,
                                                                   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 PrivilegedExceptionAction<InputStream> openStreamAction(URL url)
                                                                     throws IOException
Return a PrivilegedExceptionAction object for url.openStream(). Requires security policy: 'permission java.io.FilePermission "read";'

Returns:
InputStream
Throws:
IOException

getContentAction

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

Returns:
Object
Throws:
IOException

newZipFileAction

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

Returns:
ZipFile
Throws:
IOException

newCodeAction

public static final PrivilegedAction<serp.bytecode.Code> 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 PrivilegedAction<TemporaryClassLoader> newTemporaryClassLoaderAction(ClassLoader parent)
Return a PrivilegeAction object for new TemporaryClassLoader(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'

Returns:
TemporaryClassLoader

newMultiClassLoaderAction

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

Returns:
MultiClassLoader

newBCClassLoaderAction

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

Returns:
BCClassLoader

newBCClassLoaderAction

public static final PrivilegedAction<serp.bytecode.BCClassLoader> newBCClassLoaderAction(serp.bytecode.Project project)

bCClassWrite

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

Returns:
null
Throws:
IOException

getBCClassFieldsAction

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

Returns:
BCField

getFieldInstructionFieldAction

public static final PrivilegedAction<serp.bytecode.BCField> 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 PrivilegedAction<serp.bytecode.BCClass> loadProjectClassAction(serp.bytecode.Project project,
                                                                                   Class<?> clazz)
Return a PrivilegeAction object for Project.loadClass(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'

Returns:
BCClass

loadProjectClassAction

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

Returns:
BCClass

getAnnotationsAction

public static final PrivilegedAction<Annotation[]> getAnnotationsAction(AnnotatedElement element)
Return a PrivilegeAction object for AnnotatedElement.getAnnotations(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Annotation[]

getDeclaredAnnotationsAction

public static final PrivilegedAction<Annotation[]> getDeclaredAnnotationsAction(AnnotatedElement element)
Return a PrivilegeAction object for AnnotatedElement.getDeclaredAnnotations(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Annotation[]

isAnnotationPresentAction

public static final PrivilegedAction<Boolean> isAnnotationPresentAction(AnnotatedElement element,
                                                                        Class<? extends Annotation> annotationClazz)
Return a PrivilegeAction object for AnnotatedElement.isAnnotationPresent(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Boolean

getAnnotationAction

public static final <T extends Annotation> PrivilegedAction<T> getAnnotationAction(AnnotatedElement element,
                                                                                   Class<T> annotationClazz)
Return a PrivilegedAction object for AnnotatedElement.getAnnotation(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMembers";'

Returns:
Annotation

validateAction

public static final <T> PrivilegedAction<Set<ConstraintViolation<T>>> validateAction(Validator validator,
                                                                                     T arg0,
                                                                                     Class<?>[] groups)
Return a PrivilegeAction object for javax.validation.Validator.validate(). Requires security policy: 'permission java.lang.RuntimePermission "accessDeclaredMemeber";'


buildDefaultValidatorFactoryAction

public static final <T> PrivilegedAction<ValidatorFactory> buildDefaultValidatorFactoryAction()
Return a PrivilegeAction object for javax.validation.Validation.buildDefaultValidatorFactory(). Requires security policy: 'permission java.lang.RuntimePermission "createClassLoader";'



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