java.io.Closeable
, java.lang.AutoCloseable
public class UberJarRealmClassLoader extends RealmClassLoader
ClassRealm
s.
Loads classes from an "uberjar".Modifier and Type | Field | Description |
---|---|---|
private java.util.Map |
classIndex |
|
private java.util.Map |
jarIndexes |
|
private java.util.List |
urls |
realm
Constructor | Description |
---|---|
UberJarRealmClassLoader(DefaultClassRealm realm) |
Modifier and Type | Method | Description |
---|---|---|
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 |
findResourcesDirect(java.lang.String name) |
Find resources from this ClassLoader, and don't search the realm.
|
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) |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
findResources, getBytesToEndOfStream, getRealm, getResource, getResourceDirect, getURLs, loadClass
private java.util.Map classIndex
private java.util.List urls
private java.util.Map jarIndexes
public UberJarRealmClassLoader(DefaultClassRealm realm)
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