public class MultiParentClassLoader
extends org.fabric3.api.host.classloader.DelegatingResourceClassLoader
| Constructor and Description |
|---|
MultiParentClassLoader(java.net.URI name,
java.lang.ClassLoader parent)
Constructs a classloader with a name and a single parent.
|
MultiParentClassLoader(java.net.URI name,
java.net.URL[] urls,
java.lang.ClassLoader parent)
Constructs a classloader with a name, a set of resources and a single parent.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addExtensionClassLoader(MultiParentClassLoader classloader)
Adds a classloader as an extension of this classloader.
|
void |
addParent(java.lang.ClassLoader parent)
Add a parent to this classloader.
|
void |
addURL(java.net.URL url)
Add a resource URL to this classloader's classpath.
|
protected java.lang.Class<?> |
findClass(java.lang.String string) |
java.net.URL |
findExtensionResource(java.lang.String name)
Resolves a resource only in this classloader.
|
java.util.Enumeration<java.net.URL> |
findExtensionResources(java.lang.String name) |
java.net.URL |
findResource(java.lang.String name) |
java.util.Enumeration<java.net.URL> |
findResources(java.lang.String name) |
java.net.URI |
getName()
Returns the name of this classloader.
|
java.util.List<java.lang.ClassLoader> |
getParents()
Returns the parent classLoaders.
|
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve) |
void |
removeExtensionClassLoader(MultiParentClassLoader classloader)
Removes a classloader as an extension of this classloader.
|
java.lang.String |
toString() |
getResource, getResourcesclose, definePackage, getPermissions, getResourceAsStream, getURLs, newInstance, newInstanceclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic MultiParentClassLoader(java.net.URI name,
java.lang.ClassLoader parent)
name - a name used to identify this classloaderparent - the initial parentpublic MultiParentClassLoader(java.net.URI name,
java.net.URL[] urls,
java.lang.ClassLoader parent)
name - a name used to identify this classloaderurls - the URLs from which to load classes and resourcesparent - the initial parentpublic void addURL(java.net.URL url)
addURL in class java.net.URLClassLoaderurl - an additional URL from which to load classes and resourcespublic void addParent(java.lang.ClassLoader parent)
parent - an additional parent classloaderpublic java.net.URI getName()
public java.util.List<java.lang.ClassLoader> getParents()
public void addExtensionClassLoader(MultiParentClassLoader classloader)
classloader - the extension classloader.public void removeExtensionClassLoader(MultiParentClassLoader classloader)
classloader - the extension classloader.public java.net.URL findExtensionResource(java.lang.String name)
name - the resource namepublic java.util.Enumeration<java.net.URL> findExtensionResources(java.lang.String name)
throws java.io.IOException
java.io.IOExceptionprotected java.lang.Class<?> loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
loadClass in class java.lang.ClassLoaderjava.lang.ClassNotFoundExceptionprotected java.lang.Class<?> findClass(java.lang.String string)
throws java.lang.ClassNotFoundException
findClass in class java.net.URLClassLoaderjava.lang.ClassNotFoundExceptionpublic java.net.URL findResource(java.lang.String name)
findResource in class java.net.URLClassLoaderpublic java.util.Enumeration<java.net.URL> findResources(java.lang.String name)
throws java.io.IOException
findResources in class java.net.URLClassLoaderjava.io.IOExceptionpublic java.lang.String toString()
toString in class java.lang.Object