public class PluginClassLoader extends java.net.URLClassLoader
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.
|
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve) |
java.lang.String |
toString() |
addURL, close, definePackage, findClass, findResource, 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.lang.String toString()
toString
in class java.lang.Object