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() |
addURLclose, definePackage, findClass, findResources, 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, setSignersprivate 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.ClassLoaderjava.lang.ClassNotFoundExceptionpublic java.net.URL findResource(java.lang.String name)
findResource in class java.net.URLClassLoaderpublic java.lang.String toString()
toString in class java.lang.Object