Class ExtendablePluginClassLoader

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class ExtendablePluginClassLoader
    extends org.java.plugin.standard.StandardPluginClassLoader
    Repast plugin ClassLoader implementation.
    Author:
    Nick Collier
    • 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 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
      • collectImports

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