org.gjt.sp.jedit
Class JARClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by 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