com.ibm.security12.java.security
Class SecureClassLoader
java.lang.Object
|
+--java.lang.ClassLoader
|
+--com.ibm.security12.java.lang.ClassLoader12
|
+--com.ibm.security12.java.security.SecureClassLoader
- Direct Known Subclasses:
- URLClassLoader
- public class SecureClassLoader
- extends ClassLoader12
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.69, 09/24/98
- Author:
- Li Gong, Roland Schemers
Constructor Summary |
protected |
SecureClassLoader()
Creates a new SecureClassLoader using the default parent class
loader for delegation. |
protected |
SecureClassLoader(ClassLoader12 parent)
Creates a new SecureClassLoader using the specified parent
class loader for delegation. |
Methods inherited from class com.ibm.security12.java.lang.ClassLoader12 |
defineClass,
definePackage,
findClass,
findResource,
findResources,
getPackage,
getPackages,
getParent,
getResource,
getResourceAsStream,
getResources,
getSystemClassLoader,
getSystemResource12,
getSystemResourceAsStream12,
getSystemResources,
loadClass,
loadClass |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
SecureClassLoader
protected SecureClassLoader(ClassLoader12 parent)
- 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- Throws:
- 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()
- 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.
- Throws:
- SecurityException - if a security manager exists and its
checkCreateClassLoader
method doesn't allow
creation of a class loader. - See Also:
SecurityManager12.checkCreateClassLoader()
defineClass
protected final 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. Before the
class can be used it must be resolved.
- Parameters:
name
- the name of the classb
- the class bytesoff
- the start offset of the class byteslen
- the length of the class bytescs
- the associated CodeSource, or null if none- Returns:
- the
Class
object created from the data,
and optional CodeSource.
getPermissions
protected PermissionCollection getPermissions(CodeSource codesource)
- Returns the permissions for the given codesource object.
The default implementation of this method invokes the
com.ibm.security12.java.security.Policy.getPermissions method to get the permissions
granted by the policy to the specified codesource.
This method is invoked by the defineClass method that takes
a CodeSource as an argument when it is constructing the
ProtectionDomain for the class being defined.
- Parameters:
codesource
- the codesource.- Returns:
- the permissions granted to the codesource.