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 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 class ClassLoader
      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 class org.java.plugin.standard.StandardPluginClassLoader
    • appendPaths

      public void appendPaths(String paths) throws IOException
      Throws:
      IOException
    • collectImports

      protected void collectImports()
      Overrides:
      collectImports in class org.java.plugin.standard.StandardPluginClassLoader