|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.codehaus.classworlds.RealmClassLoader
org.codehaus.classworlds.UberJarRealmClassLoader
Classloader for ClassRealm
s.
Nested Class Summary |
Nested classes inherited from class java.lang.ClassLoader |
|
Field Summary | |
private java.util.Map |
classIndex
|
private java.util.Map |
jarIndexes
|
protected DefaultClassRealm |
realm
The realm. |
private java.util.List |
urls
|
Fields inherited from class java.net.URLClassLoader |
|
Fields inherited from class java.security.SecureClassLoader |
|
Fields inherited from class java.lang.ClassLoader |
|
Constructor Summary | |
UberJarRealmClassLoader(DefaultClassRealm realm)
|
Method Summary | |
void |
addConstituent(java.net.URL constituent)
Add a constituent to this realm for locating classes. |
private void |
buildIndexForJar(java.net.URL inUrl)
|
protected byte[] |
findClassInDirectoryUrl(java.net.URL url,
java.lang.String path)
|
protected byte[] |
findClassInJarStream(java.net.URL inUrl,
java.lang.String path)
|
java.net.URL |
findResource(java.lang.String name)
Find a resource within this ClassLoader only (don't delegate to the parent). |
protected java.net.URL |
findResourceInDirectoryUrl(java.net.URL inUrl,
java.lang.String path)
|
protected java.net.URL |
findResourceInJarStream(java.net.URL inUrl,
java.lang.String path)
|
java.util.Enumeration |
findResources(java.lang.String name)
|
java.util.Enumeration |
findResourcesDirect(java.lang.String name)
Find resources from this ClassLoader, and don't search the realm. |
byte[] |
getBytesToEndOfStream(java.io.DataInputStream in)
Helper method for addConstituent that reads in a DataInputStream and returns it as a byte[] It attempts to use in.available - the size of the file - else defaults to 2048 |
(package private) DefaultClassRealm |
getRealm()
Retrieve the realm. |
java.net.URL |
getResource(java.lang.String name)
|
java.net.URL |
getResourceDirect(java.lang.String name)
Get a resource from this ClassLoader, and don't search the realm. |
java.net.URL[] |
getURLs()
Retrieve the URL s used by this ClassLoader . |
protected java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
Load a class. |
java.lang.Class |
loadClassDirect(java.lang.String className)
Load a class directly from this classloader without defering through any other ClassRealm . |
private byte[] |
readStream(java.io.InputStream in)
|
Methods inherited from class java.net.URLClassLoader |
addURL, definePackage, findClass, getPermissions, newInstance, newInstance |
Methods inherited from class java.security.SecureClassLoader |
defineClass |
Methods inherited from class java.lang.ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private java.util.Map classIndex
private java.util.List urls
private java.util.Map jarIndexes
protected DefaultClassRealm realm
Constructor Detail |
public UberJarRealmClassLoader(DefaultClassRealm realm)
Method Detail |
public void addConstituent(java.net.URL constituent)
RealmClassLoader
addConstituent
in class RealmClassLoader
constituent
- URL to contituent jar or directory.private void buildIndexForJar(java.net.URL inUrl)
public java.lang.Class loadClassDirect(java.lang.String className) throws java.lang.ClassNotFoundException
ClassRealm
.
loadClassDirect
in class RealmClassLoader
className
- The name of the class to load.
java.lang.ClassNotFoundException
- If the class could not be found.public java.net.URL findResource(java.lang.String name)
RealmClassLoader
findResource
in class RealmClassLoader
public java.util.Enumeration findResourcesDirect(java.lang.String name)
RealmClassLoader
findResourcesDirect
in class RealmClassLoader
protected java.net.URL findResourceInJarStream(java.net.URL inUrl, java.lang.String path)
protected java.net.URL findResourceInDirectoryUrl(java.net.URL inUrl, java.lang.String path)
protected byte[] findClassInJarStream(java.net.URL inUrl, java.lang.String path)
protected byte[] findClassInDirectoryUrl(java.net.URL url, java.lang.String path)
private byte[] readStream(java.io.InputStream in) throws java.io.IOException
java.io.IOException
DefaultClassRealm getRealm()
public byte[] getBytesToEndOfStream(java.io.DataInputStream in) throws java.io.IOException
java.io.IOException
protected java.lang.Class loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
name
- The name of the class to load.resolve
- If true
then resolve the class.
java.lang.ClassNotFoundException
- If the class cannot be found.public java.net.URL[] getURLs()
URL
s used by this ClassLoader
.
public java.net.URL getResource(java.lang.String name)
public java.net.URL getResourceDirect(java.lang.String name)
public java.util.Enumeration findResources(java.lang.String name) throws java.io.IOException
java.io.IOException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |