com.adventnet.adaptors.clients
Class JarLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--com.adventnet.adaptors.clients.JarLoader

public class JarLoader
extends java.lang.ClassLoader

A simple class loader capable of loading from local jar files.


Inner classes inherited from class java.lang.ClassLoader
java.lang.ClassLoader.NativeLibrary
 
Field Summary
protected  java.util.Vector classpath
           
protected  java.util.Hashtable mClassData
           
 
Fields inherited from class java.lang.ClassLoader
nocerts
 
Constructor Summary
JarLoader(java.lang.String jarfile)
          This constructor is used to load Jar Files.
JarLoader(java.util.Vector jarfiles)
          This constructor loads the jarfiles present in the vector that is passed as argument.
 
Method Summary
 void addClass(java.io.InputStream isr, java.lang.String className)
           
 void addJar(java.lang.String jarfile)
          Adds the specified jar to this classloader.
 void dispose()
          Attempts to clean up the memory consumed by this classloader.
 java.net.URL findResource(java.lang.String name)
           
 java.util.Enumeration findResources(java.lang.String name)
           
protected  java.lang.String formatClassName(java.lang.String class_name)
           
protected  byte[] getBytes(java.lang.String entry_name)
           
 java.io.InputStream getResourceAsStream(java.lang.String name)
           
 java.lang.Class loadClass(java.lang.String className)
          This is a simple version since callers typically want the class resolved before it is returned to them.
 java.lang.Class loadClass(java.lang.String class_name, boolean resolve)
           
protected  byte[] loadClassBytes(java.lang.String class_name)
           
 void loadJar(java.lang.String jarFile, java.lang.String className)
          Method to load a particular entry from the jar file.
 
Methods inherited from class java.lang.ClassLoader
, addClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findNative, findSystemClass, getBootstrapClassPath, getCallerClassLoader, getGetClassLoaderPerm, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, isAncestor, loadLibrary, resolveClass, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mClassData

protected java.util.Hashtable mClassData

classpath

protected java.util.Vector classpath
Constructor Detail

JarLoader

public JarLoader(java.lang.String jarfile)
This constructor is used to load Jar Files. If the jarFile passed is a directory, it will load all the jars in that directory.
Parameters:
jarfile - The Jar File Name or the Directory which contains the Jars to be loaded.

JarLoader

public JarLoader(java.util.Vector jarfiles)
This constructor loads the jarfiles present in the vector that is passed as argument.
Parameters:
jarfiles - The vector of jar files to be loaded.
Method Detail

addJar

public void addJar(java.lang.String jarfile)
Adds the specified jar to this classloader.
Parameters:
jarfile - The Path String of the Jar File to be added.

loadClass

public java.lang.Class loadClass(java.lang.String className)
                          throws java.lang.ClassNotFoundException
This is a simple version since callers typically want the class resolved before it is returned to them.
Overrides:
loadClass in class java.lang.ClassLoader

loadClass

public java.lang.Class loadClass(java.lang.String class_name,
                                 boolean resolve)
                          throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader

loadJar

public void loadJar(java.lang.String jarFile,
                    java.lang.String className)
             throws java.io.IOException,
                    java.io.FileNotFoundException
Method to load a particular entry from the jar file.
Parameters:
jarFile - The Input Jar File
className - The name of the class. For example java.lang.String
Throws:
java.io.IOException - If any IOException occurs while reading the Jar.
java.io.FileNotFoundException - If the jar file is not present

addClass

public void addClass(java.io.InputStream isr,
                     java.lang.String className)
              throws java.io.IOException

loadClassBytes

protected byte[] loadClassBytes(java.lang.String class_name)

getBytes

protected byte[] getBytes(java.lang.String entry_name)

formatClassName

protected java.lang.String formatClassName(java.lang.String class_name)

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String name)
Overrides:
getResourceAsStream in class java.lang.ClassLoader

findResources

public java.util.Enumeration findResources(java.lang.String name)
                                    throws java.io.IOException
Overrides:
findResources in class java.lang.ClassLoader

findResource

public java.net.URL findResource(java.lang.String name)
Overrides:
findResource in class java.lang.ClassLoader

dispose

public void dispose()
Attempts to clean up the memory consumed by this classloader.