Class MultiParentClassLoader

All Implemented Interfaces:
Closeable, AutoCloseable

public class MultiParentClassLoader extends URLClassLoader
A MultiParentClassLoader is a simple extension of the URLClassLoader that simply changes the single parent class loader model to support a list of parent class loaders. Each operation that accesses a parent, has been replaced with a operation that checks each parent in order. This getParent method of this class will always return null, which may be interpreted by the calling code to mean that this class loader is a direct child of the system class loader.
Version:
$Rev$ $Date$
  • Constructor Details

    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls)
      Creates a named class loader with no parents.
      Parameters:
      urls - the urls from which this class loader will classes and resources
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader parent)
      Creates a named class loader as a child of the specified parent.
      Parameters:
      urls - the urls from which this class loader will classes and resources
      parent - the parent of this class loader
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader parent, boolean inverseClassLoading, String[] hiddenClasses, String[] nonOverridableClasses)
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
      Creates a named class loader as a child of the specified parent and using the specified URLStreamHandlerFactory for accessing the urls..
      Parameters:
      urls - the urls from which this class loader will classes and resources
      parent - the parent of this class loader
      factory - the URLStreamHandlerFactory used to access the urls
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader[] parents)
      Creates a named class loader as a child of the specified parents.
      Parameters:
      urls - the urls from which this class loader will classes and resources
      parents - the parents of this class loader
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader[] parents, boolean inverseClassLoading, Collection hiddenClasses, Collection nonOverridableClasses)
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader[] parents, boolean inverseClassLoading, String[] hiddenClasses, String[] nonOverridableClasses)
    • MultiParentClassLoader

      public MultiParentClassLoader(MultiParentClassLoader source)
    • MultiParentClassLoader

      public MultiParentClassLoader(URL[] urls, ClassLoader[] parents, URLStreamHandlerFactory factory)
      Creates a named class loader as a child of the specified parents and using the specified URLStreamHandlerFactory for accessing the urls..
      Parameters:
      urls - the urls from which this class loader will classes and resources
      parents - the parents of this class loader
      factory - the URLStreamHandlerFactory used to access the urls
  • Method Details