JARClassLoader (jEdit API Documentation)

Package org.gjt.sp.jedit

## Class JARClassLoader

- java.lang.Object
- - java.lang.ClassLoader
  - - org.gjt.sp.jedit.JARClassLoader

-     public class JARClassLoader
      extends java.lang.ClassLoader

  A class loader implementation that loads classes from JAR files. All instances share the same set of classes.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JARClassLoader()` | This constructor creates a class loader for loading classes from all plugins.
    `JARClassLoader​(boolean delegateFirst)` | Creates a class loader that will optionally delegate the finding of classes to the parent class loader by default.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `dump()` | For debugging.
    `protected void` | `finalize()` |
    `java.net.URL` | `getResource​(java.lang.String name)` | overriding getResource() because we want to search FIRST in this ClassLoader, then the parent, the path, etc.
    `java.lang.String` | `getResourceAsPath​(java.lang.String name)` | construct a jeditresource:/etc path from the name of a resource in the associated jar.
    `java.io.InputStream` | `getResourceAsStream​(java.lang.String name)` |
    `java.util.Enumeration<java.net.URL>` | `getResources​(java.lang.String name)` |
    `java.lang.Class` | `loadClass​(java.lang.String clazz, boolean resolveIt)` |
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class java.lang.ClassLoader

      `clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### JARClassLoader

          public JARClassLoader()

      This constructor creates a class loader for loading classes from all plugins. For example BeanShell uses one of these so that scripts can use plugin classes.

    - #### JARClassLoader

          public JARClassLoader​(boolean delegateFirst)

      Creates a class loader that will optionally delegate the finding of classes to the parent class loader by default.
      Since:
        jEdit 4.3pre6

  - ### Method Detail

    - #### loadClass

          public java.lang.Class loadClass​(java.lang.String clazz,
                                           boolean resolveIt)
                                    throws java.lang.ClassNotFoundException

      Overrides:
        `loadClass` in class `java.lang.ClassLoader`
      Throws:
        `java.lang.ClassNotFoundException` - if the class could not be found

    - #### getResourceAsStream

          public java.io.InputStream getResourceAsStream​(java.lang.String name)

      Overrides:
        `getResourceAsStream` in class `java.lang.ClassLoader`

    - #### getResource

          public java.net.URL getResource​(java.lang.String name)

      overriding getResource() because we want to search FIRST in this ClassLoader, then the parent, the path, etc.
      Overrides:
        `getResource` in class `java.lang.ClassLoader`

    - #### getResourceAsPath

          public java.lang.String getResourceAsPath​(java.lang.String name)

      construct a jeditresource:/etc path from the name of a resource in the associated jar. The existence of the resource is not actually checked.
      Parameters:
        `name` - name of the resource
      Returns:
        jeditresource:/path_to_the_jar!name_of_the_resource
      Throws:
        `java.lang.UnsupportedOperationException` - if this is an anonymous JARClassLoader (no associated jar).

    - #### dump

          public static void dump()

      For debugging.

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getResources

          public java.util.Enumeration<java.net.URL> getResources​(java.lang.String name)
                                                           throws java.io.IOException

      Overrides:
        `getResources` in class `java.lang.ClassLoader`
      Returns:
        zero or one resource, as returned by getResource()
      Throws:
        `java.io.IOException`

    - #### finalize

          protected void finalize()

      Overrides:
        `finalize` in class `java.lang.Object`