|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.ClassLoader | +--java.security.SecureClassLoader
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.
Constructor Summary | |
protected |
SecureClassLoader()
Creates a new SecureClassLoader using the default parent class loader for delegation. |
protected |
SecureClassLoader(ClassLoader parent)
Creates a new SecureClassLoader using the specified parent class loader for delegation. |
Method Summary | |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected SecureClassLoader(ClassLoader parent)
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.
parent
- the parent ClassLoader
SecurityException
- if a security manager exists and its
checkCreateClassLoader
method doesn't allow
creation of a class loader.SecurityManager.checkCreateClassLoader()
protected SecureClassLoader()
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.
SecurityException
- if a security manager exists and its
checkCreateClassLoader
method doesn't allow
creation of a class loader.SecurityManager.checkCreateClassLoader()
Method Detail |
protected final Class defineClass(String name, byte[] b, int off, int len, CodeSource cs)
If a non-null CodeSource is supplied a ProtectionDomain is constructed and associated with the class being defined.
name
- the expected name of the class, or null
if not known, using '.' and not '/' as the separator
and without a trailing ".class" suffix.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.off
- the start offset in b
of the class datalen
- the length of the class datacs
- the associated CodeSource, or null
if none
Class
object created from the data,
and optional CodeSource.
ClassFormatError
- if the data did not contain a valid class
IndexOutOfBoundsException
- if either off
or
len
is negative, or if
off+len
is greater than b.length
.
SecurityException
- if an attempt is made to add this class
to a package that contains classes that were signed by
a different set of certificates than this class, or if
the class name begins with "java.".protected PermissionCollection getPermissions(CodeSource codesource)
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.
codesource
- the codesource.
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.