public class PluginClassLoader extends DynamicURLClassLoader
In addition to the classes in the plugin jar file, it loads classes of required plugins. The JOSM core classes should be provided by the parent class loader.
Modifier and Type | Field and Description |
---|---|
private java.util.Collection<PluginClassLoader> |
dependencies |
Constructor and Description |
---|
PluginClassLoader(java.net.URL[] urls,
java.lang.ClassLoader parent,
java.util.Collection<PluginClassLoader> dependencies)
Create a new PluginClassLoader.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addDependency(PluginClassLoader dependency)
Add class loader of a required plugin.
|
java.net.URL |
findResource(java.lang.String name) |
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve) |
java.lang.String |
toString() |
addURL
close, definePackage, findClass, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
private final java.util.Collection<PluginClassLoader> dependencies
public PluginClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent, java.util.Collection<PluginClassLoader> dependencies)
urls
- URLs of the plugin jar file (and extra libraries)parent
- the parent class loader (for JOSM core classes)dependencies
- class loaders of required plugin; can be nullpublic boolean addDependency(PluginClassLoader dependency)
dependency
- the class loader of the required plugintrue
if the collection of dependencies changed as a result of the callprotected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
public java.net.URL findResource(java.lang.String name)
findResource
in class java.net.URLClassLoader
public java.lang.String toString()
toString
in class java.lang.Object