| java.lang.Object java.lang.ClassLoader java.security.SecureClassLoader
All known Subclasses: sun.misc.AuxPreloadClassLoader, java.net.URLClassLoader,
SecureClassLoader | public class SecureClassLoader extends ClassLoader (Code) | | This class extends ClassLoader with additional support for defining
classes with an associated code source and permissions which are
retrieved by the system policy by default.
version: 1.73, 02/02/00 author: Li Gong author: Roland Schemers |
Constructor Summary | |
protected | SecureClassLoader(ClassLoader parent) Creates a new SecureClassLoader using the specified parent
class loader for delegation. | protected | SecureClassLoader() Creates a new SecureClassLoader using the default parent class
loader for delegation. |
Method Summary | |
final protected Class | defineClass(String name, byte[] b, int off, int len, CodeSource cs) Converts an array of bytes into an instance of class Class,
with an optional CodeSource. | protected PermissionCollection | getPermissions(CodeSource codesource) Returns the permissions for the given CodeSource object.
This method is invoked by the defineClass method which takes
a CodeSource as an argument when it is constructing the
ProtectionDomain for the class being defined.
Parameters: codesource - the codesource. |
SecureClassLoader | protected SecureClassLoader(ClassLoader parent)(Code) | | Creates a new SecureClassLoader using the specified parent
class loader for delegation.
If there is a security manager, this method first
calls the security manager's checkCreateClassLoader
method to ensure creation of a class loader is allowed.
Parameters: parent - the parent ClassLoader exception: SecurityException - if a security manager exists and its checkCreateClassLoader method doesn't allow creation of a class loader. See Also: SecurityManager.checkCreateClassLoader |
SecureClassLoader | protected SecureClassLoader()(Code) | | Creates a new SecureClassLoader using the default parent class
loader for delegation.
If there is a security manager, this method first
calls the security manager's checkCreateClassLoader
method to ensure creation of a class loader is allowed.
exception: SecurityException - if a security manager exists and its checkCreateClassLoader method doesn't allow creation of a class loader. See Also: SecurityManager.checkCreateClassLoader |
defineClass | final protected Class defineClass(String name, byte[] b, int off, int len, CodeSource cs)(Code) | | Converts an array of bytes into an instance of class Class,
with an optional CodeSource. Before the
class can be used it must be resolved.
If a non-null CodeSource is supplied a ProtectionDomain is
constructed and associated with the class being defined.
Parameters: name - the expected name of the class, or null if not known, using '.' and not '/' as the separatorand without a trailing ".class" suffix. Parameters: b - the bytes that make up the class data. The bytes in positions off through off+len-1 should have the format of a valid class file as defined by the Java Virtual Machine Specification. Parameters: off - the start offset in b of the class data Parameters: len - the length of the class data Parameters: cs - the associated CodeSource, or null if none the Class object created from the data,and optional CodeSource. exception: ClassFormatError - if the data did not contain a valid class exception: IndexOutOfBoundsException - if either off or len is negative, or if off+len is greater than b.length . exception: SecurityException - if an attempt is made to add this classto a package that contains classes that were signed bya different set of certificates than this class, or if the class name begins with "java.". |
getPermissions | protected PermissionCollection getPermissions(CodeSource codesource)(Code) | | Returns the permissions for the given CodeSource object.
This method is invoked by the defineClass method which takes
a CodeSource as an argument when it is constructing the
ProtectionDomain for the class being defined.
Parameters: codesource - the codesource. the permissions granted to the codesource. |
Methods inherited from java.lang.ClassLoader | public synchronized void clearAssertionStatus()(Code)(Java Doc) final protected Class defineClass(String name, byte[] b, int off, int len) throws ClassFormatError(Code)(Java Doc) final protected Class defineClass(String name, byte[] b, int off, int len, ProtectionDomain protectionDomain) throws ClassFormatError(Code)(Java Doc) protected Package definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) throws IllegalArgumentException(Code)(Java Doc) protected Class findClass(String name) throws ClassNotFoundException(Code)(Java Doc) protected String findLibrary(String libname)(Code)(Java Doc) final protected Class findLoadedClass(String name)(Code)(Java Doc) protected URL findResource(String name)(Code)(Java Doc) protected Enumeration findResources(String name) throws IOException(Code)(Java Doc) final protected Class findSystemClass(String name) throws ClassNotFoundException(Code)(Java Doc) protected Package getPackage(String name)(Code)(Java Doc) protected Package[] getPackages()(Code)(Java Doc) final public ClassLoader getParent()(Code)(Java Doc) public URL getResource(String name)(Code)(Java Doc) public InputStream getResourceAsStream(String name)(Code)(Java Doc) final public Enumeration getResources(String name) throws IOException(Code)(Java Doc) public static ClassLoader getSystemClassLoader()(Code)(Java Doc) public static URL getSystemResource(String name)(Code)(Java Doc) public static InputStream getSystemResourceAsStream(String name)(Code)(Java Doc) public static Enumeration getSystemResources(String name) throws IOException(Code)(Java Doc) public Class loadClass(String name) throws ClassNotFoundException(Code)(Java Doc) protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException(Code)(Java Doc) final protected void resolveClass(Class c)(Code)(Java Doc) public synchronized void setClassAssertionStatus(String className, boolean enabled)(Code)(Java Doc) public synchronized void setDefaultAssertionStatus(boolean enabled)(Code)(Java Doc) public synchronized void setPackageAssertionStatus(String packageName, boolean enabled)(Code)(Java Doc) final protected void setSigners(Class c, Object[] signers)(Code)(Java Doc)
|
|
|