Class PluginClassLoader

All Implemented Interfaces:
Closeable, AutoCloseable

public class PluginClassLoader extends URLClassLoader
ClassLoader for plugins. It searches the plugin directory for classes and JAR files, then constructs a class loader for the resources found. Resources are loaded as follows:
  • Any JAR files in the lib will be added to the classpath.
  • Any files in the classes directory will be added to the classpath.
Author:
Derek DeMoro
  • Constructor Details

    • PluginClassLoader

      public PluginClassLoader()
  • Method Details

    • addDirectory

      public void addDirectory(File directory)
      Adds a directory to the class loader.
      Parameters:
      directory - the directory.
    • addURLFile

      public void addURLFile(URL file)
      Add the given URL to the classpath for this class loader, caching the JAR file connection so it can be unloaded later
      Parameters:
      file - URL for the JAR file or directory to append to classpath
    • unloadJarFiles

      public void unloadJarFiles()
      Unload any JAR files that have been cached by this plugin