org.picocontainer.defaults
Class CustomPermissionsURLClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.picocontainer.defaults.CustomPermissionsURLClassLoader
public class CustomPermissionsURLClassLoader
- extends java.net.URLClassLoader
CustomPermissionsURLClassLoader extends URLClassLoader, adding the abilty to programatically add permissions easily.
To be effective for permission management, it should be run in conjunction with a policy that restricts
some of the classloaders, but not all.
It's not ordinarily used by PicoContainer, but is here because PicoContainer is common
to most classloader trees.
- Author:
- Paul Hammant
Method Summary |
private java.lang.ClassNotFoundException |
decorateException(java.lang.String name,
java.lang.ClassNotFoundException e)
|
protected java.lang.Class |
findClass(java.lang.String name)
|
java.security.PermissionCollection |
getPermissions(java.security.CodeSource codeSource)
|
java.lang.Class |
loadClass(java.lang.String name)
|
java.lang.String |
toString()
|
Methods inherited from class java.net.URLClassLoader |
addURL, definePackage, findResource, findResources, getURLs, newInstance, newInstance |
Methods inherited from class java.security.SecureClassLoader |
defineClass, defineClass |
Methods inherited from class java.lang.ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
permissionsMap
private final java.util.Map permissionsMap
CustomPermissionsURLClassLoader
public CustomPermissionsURLClassLoader(java.net.URL[] urls,
java.util.Map permissionsMap,
java.lang.ClassLoader parent)
loadClass
public java.lang.Class loadClass(java.lang.String name)
throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in class java.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
findClass
protected java.lang.Class findClass(java.lang.String name)
throws java.lang.ClassNotFoundException
- Overrides:
findClass
in class java.net.URLClassLoader
- Throws:
java.lang.ClassNotFoundException
decorateException
private java.lang.ClassNotFoundException decorateException(java.lang.String name,
java.lang.ClassNotFoundException e)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getPermissions
public java.security.PermissionCollection getPermissions(java.security.CodeSource codeSource)
- Overrides:
getPermissions
in class java.net.URLClassLoader