classUtils.pack.util
Class DynamicClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by classUtils.pack.util.DynamicClassLoader

public class DynamicClassLoader
extends java.lang.ClassLoader

A classloader whose classpath can be set dynamically.

Version 1.2 adds resource support capability, but for the findResources() which is not implemented.

By default, the classLoader attempts to use the parent class loader, if any, to find a class. By setting the forceDynamicLoading property, the classLoader will always find classes by using the embedded DynamicClassFileFinder.

$Revision$

Version:
1.3
Author:
cris

Constructor Summary
DynamicClassLoader()
          Constructor for DynamicClassLoader.
DynamicClassLoader(java.lang.ClassLoader arg0)
           
DynamicClassLoader(java.lang.ClassLoader arg0, DynamicClassFinderInterface cff, DynamicResourceFinderInterfaceInterface rff)
          Constructor for DynamicClassLoader.
DynamicClassLoader(DynamicClassFinderInterface cff, DynamicResourceFinderInterfaceInterface rff)
          Constructor for DynamicClassLoader.
 
Method Summary
 void addClassPathEntry(java.lang.String entry)
          Add a class path entry.
 java.lang.Class findClass(java.lang.String arg0)
           
 DynamicClassFinderInterface getClassFileFinder()
           
 java.io.InputStream getResourceAsStream(java.lang.String name)
           
 DynamicResourceFinderInterfaceInterface getResourceFileFinder()
           
 boolean isForceDynamicLoading()
          Returns the forceDynamicLoading.
static void main(java.lang.String[] args)
           
 void setForceDynamicLoading(boolean forceDynamicLoading)
          Sets the forceDynamicLoading.
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicClassLoader

public DynamicClassLoader(java.lang.ClassLoader arg0,
                          DynamicClassFinderInterface cff,
                          DynamicResourceFinderInterfaceInterface rff)
Constructor for DynamicClassLoader.

Parameters:
arg0 -

DynamicClassLoader

public DynamicClassLoader(DynamicClassFinderInterface cff,
                          DynamicResourceFinderInterfaceInterface rff)
Constructor for DynamicClassLoader.


DynamicClassLoader

public DynamicClassLoader(java.lang.ClassLoader arg0)

DynamicClassLoader

public DynamicClassLoader()
Constructor for DynamicClassLoader.

Method Detail

main

public static void main(java.lang.String[] args)

getClassFileFinder

public DynamicClassFinderInterface getClassFileFinder()

getResourceFileFinder

public DynamicResourceFinderInterfaceInterface getResourceFileFinder()

addClassPathEntry

public void addClassPathEntry(java.lang.String entry)
Add a class path entry.

Parameters:
entry -

findClass

public java.lang.Class findClass(java.lang.String arg0)
                          throws java.lang.ClassNotFoundException
Overrides:
findClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException
See Also:
ClassLoader.findClass(java.lang.String)

getResourceAsStream

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

isForceDynamicLoading

public boolean isForceDynamicLoading()
Returns the forceDynamicLoading.

Returns:
boolean

setForceDynamicLoading

public void setForceDynamicLoading(boolean forceDynamicLoading)
Sets the forceDynamicLoading.

Parameters:
forceDynamicLoading - The forceDynamicLoading to set