org.genealogie.utils
Class JarClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--org.genealogie.utils.JarClassLoader

public class JarClassLoader
extends java.lang.ClassLoader

A ClassLoader for loading classes from a list of user-defined jar files.


Inner classes inherited from class java.lang.ClassLoader
java.lang.ClassLoader.NativeLibrary
 
Field Summary
(package private)  java.util.Vector classFiles
           
(package private)  java.util.Vector jarFiles
           
 
Fields inherited from class java.lang.ClassLoader
bootstrapClassPath, classes, defaultDomain, defaultPermissions, domains, getClassLoaderPerm, initialized, loadedLibraryNames, nativeLibraries, nativeLibraryContext, nocerts, package2certs, packages, parent, scl, sclSet, sys_paths, systemNativeLibraries, usr_paths
 
Constructor Summary
JarClassLoader(java.lang.String[] jarFiles, java.lang.String[] classFiles)
          A constructor that takes in an array of jar file.
JarClassLoader(java.lang.String[] jarFiles, java.lang.String[] classFiles, java.lang.ClassLoader parent)
          A constructor that takes in an array of jar file names and the parent class loader.
 
Method Summary
 void addClassFile(java.lang.String classFileName)
          Add a class file name to the list.
 void addClassFileAt(int i, java.lang.String classFile)
          Add a new class file at a specific location.
 void addJarFile(java.lang.String jarFileName)
          Add a jar file name to the list.
 void addJarFileAt(int i, java.lang.String jarFile)
          Add a new jar file at a specific location.
 java.lang.Class findClass(java.lang.String name)
           
private  void init(java.lang.String[] jarFiles, java.lang.String[] classFiles)
           
private  byte[] loadClassData(java.lang.String name)
           
 void removeAllClass()
          Remove all the class files.
 void removeAllJars()
          Remove all the jar files.
 void removeClassFile(java.lang.String classFileName)
          Remove class file from the list.
 void removeJarFile(java.lang.String jarFileName)
          Remove jar file from the list.
 
Methods inherited from class java.lang.ClassLoader
, addClass, check, checkCerts, checkPackageAccess, compareCerts, defineClass, defineClass, defineClass, defineClass0, definePackage, findBootstrapClass, findBootstrapClass0, findLibrary, findLoadedClass, findNative, findResource, findResources, findSystemClass, getBootstrapClassPath, getBootstrapResource, getBootstrapResources, getCallerClassLoader, getDefaultDomain, getGetClassLoaderPerm, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, initializePath, isAncestor, loadClass, loadClass, loadClassInternal, loadLibrary, loadLibrary0, resolveClass, resolveClass0, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

jarFiles

java.util.Vector jarFiles

classFiles

java.util.Vector classFiles
Constructor Detail

JarClassLoader

public JarClassLoader(java.lang.String[] jarFiles,
                      java.lang.String[] classFiles,
                      java.lang.ClassLoader parent)
               throws java.io.IOException
A constructor that takes in an array of jar file names and the parent class loader.
Parameters:
jarFiles - Jar File Names.
parent - Parent class loader.
Throws:
java.io.IOException -  

JarClassLoader

public JarClassLoader(java.lang.String[] jarFiles,
                      java.lang.String[] classFiles)
               throws java.io.IOException
A constructor that takes in an array of jar file.
Parameters:
jarFiles - An array of jar file.
Throws:
java.io.IOException -  
Method Detail

init

private void init(java.lang.String[] jarFiles,
                  java.lang.String[] classFiles)
           throws java.io.IOException

addJarFile

public void addJarFile(java.lang.String jarFileName)
                throws java.io.IOException
Add a jar file name to the list.
Parameters:
jarFileName - Jar file name.
Throws:
java.io.IOException -  

addClassFile

public void addClassFile(java.lang.String classFileName)
                  throws java.io.IOException
Add a class file name to the list.
Parameters:
classFileName - Class file name.
Throws:
java.io.IOException -  

removeJarFile

public void removeJarFile(java.lang.String jarFileName)
Remove jar file from the list.
Parameters:
jarFileName - Jar File Name.

removeClassFile

public void removeClassFile(java.lang.String classFileName)
Remove class file from the list.
Parameters:
classFileName - Class File Name.

addJarFileAt

public void addJarFileAt(int i,
                         java.lang.String jarFile)
                  throws java.io.IOException
Add a new jar file at a specific location.
Parameters:
i - Location.
jarFile - Jar file name.
Throws:
java.io.IOException -  

addClassFileAt

public void addClassFileAt(int i,
                           java.lang.String classFile)
                    throws java.io.IOException
Add a new class file at a specific location.
Parameters:
i - Location.
classFile - Jar file name.
Throws:
java.io.IOException -  

removeAllJars

public void removeAllJars()
Remove all the jar files.

removeAllClass

public void removeAllClass()
Remove all the class files.

findClass

public java.lang.Class findClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Overrides:
findClass in class java.lang.ClassLoader

loadClassData

private byte[] loadClassData(java.lang.String name)


Copyright © 2002 JGenea DAO. All Rights Reserved.