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 Detail

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