Package java.security

Class SecureClassLoader

  • Direct Known Subclasses:
    URLClassLoader

    public class SecureClassLoader
    extends ClassLoader
    SecureClassLoader represents a ClassLoader which associates the classes it loads with a code source and provide mechanisms to allow the relevant permissions to be retrieved.
    • Constructor Detail

      • SecureClassLoader

        protected SecureClassLoader()
        Constructs a new instance of SecureClassLoader. The default parent ClassLoader is used.
      • SecureClassLoader

        protected SecureClassLoader​(ClassLoader parent)
        Constructs a new instance of SecureClassLoader with the specified parent ClassLoader.
        Parameters:
        parent - the parent ClassLoader.
    • Method Detail

      • getPermissions

        protected PermissionCollection getPermissions​(CodeSource codesource)
        Returns the PermissionCollection for the specified CodeSource.
        Parameters:
        codesource - the code source.
        Returns:
        the PermissionCollection for the specified CodeSource.
      • defineClass

        protected final Class<?> defineClass​(String name,
                                             byte[] b,
                                             int off,
                                             int len,
                                             CodeSource cs)
        Constructs a new class from an array of bytes containing a class definition in class file format with an optional CodeSource.
        Parameters:
        name - the name of the new class.
        b - a memory image of a class file.
        off - the start offset in b of the class data.
        len - the length of the class data.
        cs - the CodeSource, or null.
        Returns:
        a new class.
        Throws:
        IndexOutOfBoundsException - if off or len are not valid in respect to b.
        ClassFormatError - if the specified data is not valid class data.
        SecurityException - if the package to which this class is to be added, already contains classes which were signed by different certificates, or if the class name begins with "java."
      • defineClass

        protected final Class<?> defineClass​(String name,
                                             ByteBuffer b,
                                             CodeSource cs)
        Constructs a new class from an array of bytes containing a class definition in class file format with an optional CodeSource.
        Parameters:
        name - the name of the new class.
        b - a memory image of a class file.
        cs - the CodeSource, or null.
        Returns:
        a new class.
        Throws:
        ClassFormatError - if the specified data is not valid class data.
        SecurityException - if the package to which this class is to be added, already contains classes which were signed by different certificates, or if the class name begins with "java."