## 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
`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
`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` `getResources(java.lang.String name)`
`java.util.zip.ZipFile` `getZipFile()` Deprecated. Call `PluginJAR.getZipFile()` instead.
`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, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, 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).

### getZipFile

    public java.util.zip.ZipFile getZipFile()

  Deprecated. Call `PluginJAR.getZipFile()` instead.

### 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 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`