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
-
-
Constructor Summary
Constructors Constructor Description ExtendablePluginClassLoader(org.java.plugin.PluginManager aManager, org.java.plugin.registry.PluginDescriptor descr, ClassLoader parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDescriptor(org.java.plugin.registry.PluginDescriptor descriptor)
void
appendPaths(String paths)
protected void
collectFilters()
protected void
collectImports()
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 Detail
-
ExtendablePluginClassLoader
public ExtendablePluginClassLoader(org.java.plugin.PluginManager aManager, org.java.plugin.registry.PluginDescriptor descr, ClassLoader parent)
-
-
Method Detail
-
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
public void appendPaths(String paths) throws IOException
- Throws:
IOException
-
collectImports
protected void collectImports()
- Overrides:
collectImports
in classorg.java.plugin.standard.StandardPluginClassLoader
-
-