java.lang.Object
java.lang.ClassLoader
org.apache.derby.impl.services.reflect.JarLoader
- public class JarLoader
- extends java.lang.ClassLoader
| Nested classes inherited from class java.lang.ClassLoader |
|
|
Method Summary |
(package private) java.lang.Class |
checkLoaded(java.lang.String className,
boolean resolve)
|
(package private) java.lang.String |
getJarName()
|
private java.io.InputStream |
getRawStream(java.io.InputStream in,
java.lang.String name)
Get a stream from a zip file that is itself a stream. |
private java.io.InputStream |
getRawStream(java.util.zip.ZipFile zip,
java.lang.String name)
Get a stream directly from a ZipFile. |
java.io.InputStream |
getResourceAsStream(java.lang.String name)
Get a resource as stream using this classloader or one of its parents. |
(package private) java.io.InputStream |
getStream(java.lang.String name)
Get an InputStream for the given resource. |
(package private) void |
initialize()
|
private java.lang.Object |
load()
|
java.lang.Class |
loadClass(java.lang.String className,
boolean resolve)
Handle all requests to the top-level loader. |
private java.lang.Class |
loadClassData(java.io.InputStream in,
java.lang.String className,
java.lang.String jvmClassName,
boolean resolve)
|
(package private) java.lang.Class |
loadClassData(java.lang.String className,
java.lang.String jvmClassName,
boolean resolve)
|
private java.lang.Class |
loadClassData(java.util.zip.ZipEntry ze,
java.io.InputStream in,
java.lang.String className,
boolean resolve)
|
private java.lang.Class |
loadClassDataFromJar(java.lang.String className,
java.lang.String jvmClassName,
boolean resolve)
|
(package private) JarFile |
setInvalid(boolean newJarFile)
|
| Methods inherited from class java.lang.ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, 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 |
jarFileFactory
private static final JarFile jarFileFactory
updateLoader
private UpdateLoader updateLoader
jf
private JarFile jf
vs
private org.apache.derby.iapi.services.stream.HeaderPrintWriter vs
JarLoader
JarLoader(UpdateLoader updateLoader,
java.lang.String[] name,
org.apache.derby.iapi.services.stream.HeaderPrintWriter vs)
initialize
void initialize()
loadClass
public java.lang.Class loadClass(java.lang.String className,
boolean resolve)
throws java.lang.ClassNotFoundException
- Handle all requests to the top-level loader.
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
- Description copied from class:
java.lang.ClassLoader
- Get a resource as stream using this classloader or one of its parents.
First calls
getResource() and if that returns a URL to
the resource then it calls and returns the InputStream given by
URL.openStream().
Subclasses should not override this method but should override
findResource() which is called by this method.
getJarName
final java.lang.String getJarName()
loadClassData
java.lang.Class loadClassData(java.lang.String className,
java.lang.String jvmClassName,
boolean resolve)
getStream
java.io.InputStream getStream(java.lang.String name)
- Get an InputStream for the given resource.
loadClassDataFromJar
private java.lang.Class loadClassDataFromJar(java.lang.String className,
java.lang.String jvmClassName,
boolean resolve)
throws java.io.IOException
loadClassData
private java.lang.Class loadClassData(java.io.InputStream in,
java.lang.String className,
java.lang.String jvmClassName,
boolean resolve)
throws java.io.IOException
loadClassData
private java.lang.Class loadClassData(java.util.zip.ZipEntry ze,
java.io.InputStream in,
java.lang.String className,
boolean resolve)
throws java.io.IOException
checkLoaded
java.lang.Class checkLoaded(java.lang.String className,
boolean resolve)
load
private java.lang.Object load()
setInvalid
JarFile setInvalid(boolean newJarFile)
getRawStream
private java.io.InputStream getRawStream(java.util.zip.ZipFile zip,
java.lang.String name)
- Get a stream directly from a ZipFile.
In this case we can safely return the stream directly.
It's a new stream set up by the zip code to read just
the contents of this entry.
getRawStream
private java.io.InputStream getRawStream(java.io.InputStream in,
java.lang.String name)
- Get a stream from a zip file that is itself a stream.
Here we need to get the size of the zip entry and
put a limiting stream around it. Otherwise the
caller would end up reading the entire zip file!