Class CustomPermissionsURLClassLoader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    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
    • Constructor Summary

      Constructors 
      Constructor Description
      CustomPermissionsURLClassLoader​(java.net.URL[] urls, java.util.Map<java.net.URL,​java.security.Permissions> permissionsMap, java.lang.ClassLoader parent)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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, close, definePackage, findResource, findResources, getResourceAsStream, 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, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • CustomPermissionsURLClassLoader

        public CustomPermissionsURLClassLoader​(java.net.URL[] urls,
                                               java.util.Map<java.net.URL,​java.security.Permissions> permissionsMap,
                                               java.lang.ClassLoader parent)
    • Method Detail

      • 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
      • 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