org.progeeks.util
Class CompositeClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.progeeks.util.CompositeClassLoader

public class CompositeClassLoader
extends java.lang.ClassLoader

A ClassLoader implementation that will delegate to a set of nested ClassLoader instances.

Version:
$Revision: 1.1 $
Author:
Paul Speed

Constructor Summary
CompositeClassLoader()
           
CompositeClassLoader(java.lang.ClassLoader parent)
           
CompositeClassLoader(java.lang.ClassLoader parent, java.util.List classLoaders)
           
CompositeClassLoader(java.util.List classLoaders)
           
 
Method Summary
protected  java.lang.Class findClass(java.lang.String name)
           
protected  java.net.URL findResource(java.lang.String name)
          This is "final" before JDK 1.5 so I'm commenting it out until we officially go JDK 1.5...
protected  java.lang.Class getClass(java.lang.String name)
           
 java.util.List getClassLoaders()
          Returns the list of delegate class loaders that will be searched in order.
 java.lang.String getParentOverrideRegex()
           
 java.net.URL getResource(java.lang.String name)
           
 java.lang.Class loadClass(java.lang.String name, boolean resolve)
           
static void main(java.lang.String[] args)
          For commandline testing.
 void setClassLoaders(java.util.List classLoaders)
          Sets the list of delegate class loaders that will be searched in order.
 void setParentOverrideRegex(java.lang.String regex)
          Sets the regular expression used to determine which packages or classes should always be delegated to the parent class loader.
protected  boolean shouldLoadClassFromParent(java.lang.String name)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResources, findSystemClass, getPackage, getPackages, getParent, getResourceAsStream, 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, wait, wait, wait
 

Constructor Detail

CompositeClassLoader

public CompositeClassLoader()

CompositeClassLoader

public CompositeClassLoader(java.util.List classLoaders)

CompositeClassLoader

public CompositeClassLoader(java.lang.ClassLoader parent)

CompositeClassLoader

public CompositeClassLoader(java.lang.ClassLoader parent,
                            java.util.List classLoaders)
Method Detail

setClassLoaders

public void setClassLoaders(java.util.List classLoaders)
Sets the list of delegate class loaders that will be searched in order.


getClassLoaders

public java.util.List getClassLoaders()
Returns the list of delegate class loaders that will be searched in order.


setParentOverrideRegex

public void setParentOverrideRegex(java.lang.String regex)
Sets the regular expression used to determine which packages or classes should always be delegated to the parent class loader. This defaults to "java\\..*" or java.*


getParentOverrideRegex

public java.lang.String getParentOverrideRegex()

shouldLoadClassFromParent

protected boolean shouldLoadClassFromParent(java.lang.String name)

getClass

protected java.lang.Class getClass(java.lang.String name)
                            throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

loadClass

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

findClass

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

getResource

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

findResource

protected java.net.URL findResource(java.lang.String name)
This is "final" before JDK 1.5 so I'm commenting it out until we officially go JDK 1.5... I'd sort of like to to one more release before then. public Enumeration getResources( String name ) throws java.io.IOException { System.out.println( "getResources(" + name + ")" ); // Need to implement thise return( findResources( name ) ); }

Overrides:
findResource in class java.lang.ClassLoader

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
For commandline testing.

Throws:
java.lang.Exception

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2002-2003 Paul Speed. All Rights Reserved.