Package repast.simphony.plugin
Class ExtendablePluginClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.java.plugin.PluginClassLoader
org.java.plugin.standard.StandardPluginClassLoader
repast.simphony.plugin.ExtendablePluginClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class ExtendablePluginClassLoader
extends org.java.plugin.standard.StandardPluginClassLoader
Repast plugin ClassLoader implementation.
- Author:
- Nick Collier
-
Nested Class Summary
Nested classes/interfaces inherited from class org.java.plugin.standard.StandardPluginClassLoader
org.java.plugin.standard.StandardPluginClassLoader.PluginResourceLoader, org.java.plugin.standard.StandardPluginClassLoader.ResourceFilter
-
Field Summary
Fields inherited from class org.java.plugin.standard.StandardPluginClassLoader
libraryCache, privateImports, probeParentLoaderLast, publicImports, resourceFilters, resourceLoader, reverseLookups
-
Constructor Summary
ConstructorDescriptionExtendablePluginClassLoader
(org.java.plugin.PluginManager aManager, org.java.plugin.registry.PluginDescriptor descr, ClassLoader parent) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDescriptor
(org.java.plugin.registry.PluginDescriptor descriptor) void
appendPaths
(String paths) protected void
protected void
protected Package
definePackage
(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) Override java.langClassLoader package definition method to prevent null values in java.lang.Package attributes.Methods inherited from class org.java.plugin.standard.StandardPluginClassLoader
cacheLibrary, checkClassVisibility, dispose, findLibrary, findResource, findResource, findResources, findResources, getUrls, isResourceVisible, loadClass, loadClass, pluginsSetChanged, setProbeParentLoaderLast
Methods inherited from class org.java.plugin.PluginClassLoader
getPluginDescriptor, getPluginManager, toString
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findClass, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, findClass, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
ExtendablePluginClassLoader
public ExtendablePluginClassLoader(org.java.plugin.PluginManager aManager, org.java.plugin.registry.PluginDescriptor descr, ClassLoader parent)
-
-
Method Details
-
definePackage
protected Package definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) throws IllegalArgumentException Override java.langClassLoader package definition method to prevent null values in java.lang.Package attributes. The JPF classloader does not process the META-INF/MANIFEST.MF files inside Jars that contain metadata about the library. Null values can cause some libraries such as JAI to fail since they require non-null, but arbitrary, meta-data to instantiate properly.- Overrides:
definePackage
in classClassLoader
- Throws:
IllegalArgumentException
- See Also:
-
java.lang.ClassLoader#defindPackage
-
addDescriptor
public void addDescriptor(org.java.plugin.registry.PluginDescriptor descriptor) -
collectFilters
protected void collectFilters()- Overrides:
collectFilters
in classorg.java.plugin.standard.StandardPluginClassLoader
-
appendPaths
- Throws:
IOException
-
collectImports
protected void collectImports()- Overrides:
collectImports
in classorg.java.plugin.standard.StandardPluginClassLoader
-