public class DelegationURLClassLoader
extends java.net.URLClassLoader
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.ClassLoader |
basecl
The base class loader.
|
protected java.util.List<DelegationURLClassLoader> |
delegates
The delegation classloader.
|
protected java.util.Set<DelegationURLClassLoader> |
dependencies
The flattened transitive dependencies without duplicates
(created lazy from delegates list).
|
protected java.util.List<DelegationURLClassLoader> |
parents
The parent classloaders (i.e.
|
protected jadex.bridge.IResourceIdentifier |
rid
The resource identifier.
|
| Constructor and Description |
|---|
DelegationURLClassLoader(java.lang.ClassLoader basecl,
DelegationURLClassLoader[] delegates)
Create a new classloader.
|
DelegationURLClassLoader(jadex.bridge.IResourceIdentifier rid,
java.net.URL url,
java.lang.ClassLoader basecl,
DelegationURLClassLoader[] delegates)
Create a new classloader.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addDelegateClassLoader(DelegationURLClassLoader classloader)
Add a new delegate loader.
|
boolean |
addParentClassLoader(DelegationURLClassLoader parent)
Add a parent loader.
|
static java.util.Set<DelegationURLClassLoader> |
computeFlattenedDependencies(java.util.List<DelegationURLClassLoader> deps)
Get transitive dependencies as flattened set (without duplicates).
|
protected java.net.URL |
findDirectResource(java.lang.String name)
Find the resource.
|
protected java.util.Enumeration<java.net.URL> |
findDirectResources(java.lang.String name)
Find the resource.
|
java.net.URL |
findResource(java.lang.String name)
Find the resource.
|
java.util.Enumeration<java.net.URL> |
findResources(java.lang.String name)
Find the resource.
|
static void |
getAllParentLoaders(java.lang.ClassLoader cl,
java.util.Set<java.lang.ClassLoader> cls) |
java.util.Set<jadex.bridge.IResourceIdentifier> |
getAllResourceIdentifiers()
Get all managed resource identifiers inlcuding all subdependencies.
|
protected java.lang.ClassLoader |
getBaseClassLoader() |
DelegationURLClassLoader[] |
getDelegateClassLoaders()
Get the delegates.
|
java.util.List<jadex.bridge.IResourceIdentifier> |
getDelegateResourceIdentifiers()
Get the delegates.
|
java.util.List<DelegationURLClassLoader> |
getDelegates()
Get the delegates.
|
java.util.Set<DelegationURLClassLoader> |
getFlattenedDependencies()
Get transitive dependencies as flattened set (without duplicates).
|
java.util.List<DelegationURLClassLoader> |
getParentClassLoaders()
Get the parent class loaders.
|
jadex.bridge.IResourceIdentifier |
getResourceIdentifier()
Get the resource identifier.
|
java.net.URL |
getURL()
Get the own url.
|
boolean |
hasParentClassLoader()
Test if has parent classloader.
|
boolean |
isClassLoaderCompatible(java.lang.Class<?> clazz) |
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve)
Load class.
|
protected java.lang.Class<?> |
loadDirectClass(java.lang.String name,
boolean resolve)
Load a class directly, without delegation to dependencies or base class loader
|
boolean |
removeDelegateClassLoader(DelegationURLClassLoader classloader)
Remove a new delegate loader.
|
boolean |
removeParentClassLoader(DelegationURLClassLoader parent)
Remove a parent classloader.
|
void |
setResourceIdentifier(jadex.bridge.IResourceIdentifier rid)
Set the rid.
|
java.lang.String |
toString()
Get a string representation.
|
addURL, close, definePackage, findClass, getPermissions, getResourceAsStream, getURLs, newInstance, newInstanceclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersprotected jadex.bridge.IResourceIdentifier rid
protected java.lang.ClassLoader basecl
protected java.util.List<DelegationURLClassLoader> delegates
protected java.util.List<DelegationURLClassLoader> parents
protected volatile java.util.Set<DelegationURLClassLoader> dependencies
public DelegationURLClassLoader(java.lang.ClassLoader basecl,
DelegationURLClassLoader[] delegates)
public DelegationURLClassLoader(jadex.bridge.IResourceIdentifier rid,
java.net.URL url,
java.lang.ClassLoader basecl,
DelegationURLClassLoader[] delegates)
public java.util.List<jadex.bridge.IResourceIdentifier> getDelegateResourceIdentifiers()
public DelegationURLClassLoader[] getDelegateClassLoaders()
public boolean addDelegateClassLoader(DelegationURLClassLoader classloader)
classloader - The delegate classloader.public boolean removeDelegateClassLoader(DelegationURLClassLoader classloader)
classloader - The delegate classloader.public boolean addParentClassLoader(DelegationURLClassLoader parent)
classloader - The parent loader.public boolean removeParentClassLoader(DelegationURLClassLoader parent)
public boolean hasParentClassLoader()
public java.util.List<DelegationURLClassLoader> getParentClassLoaders()
public java.util.Set<DelegationURLClassLoader> getFlattenedDependencies()
public static java.util.Set<DelegationURLClassLoader> computeFlattenedDependencies(java.util.List<DelegationURLClassLoader> deps)
public java.util.List<DelegationURLClassLoader> getDelegates()
public java.net.URL getURL()
public jadex.bridge.IResourceIdentifier getResourceIdentifier()
public void setResourceIdentifier(jadex.bridge.IResourceIdentifier rid)
rid - The rid to set.public java.util.Set<jadex.bridge.IResourceIdentifier> getAllResourceIdentifiers()
protected java.lang.Class<?> loadDirectClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionprotected java.lang.Class<?> loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
loadClass in class java.lang.ClassLoaderjava.lang.ClassNotFoundExceptionprotected java.net.URL findDirectResource(java.lang.String name)
name - The name.public java.net.URL findResource(java.lang.String name)
findResource in class java.net.URLClassLoadername - The name.protected java.lang.ClassLoader getBaseClassLoader()
protected java.util.Enumeration<java.net.URL> findDirectResources(java.lang.String name)
throws java.io.IOException
name - The name.java.io.IOExceptionpublic java.util.Enumeration<java.net.URL> findResources(java.lang.String name)
throws java.io.IOException
findResources in class java.net.URLClassLoadername - The name.java.io.IOExceptionpublic boolean isClassLoaderCompatible(java.lang.Class<?> clazz)
public static void getAllParentLoaders(java.lang.ClassLoader cl,
java.util.Set<java.lang.ClassLoader> cls)
public java.lang.String toString()
toString in class java.lang.Object