com.javageeks.classloader
Class CompositeClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--com.javageeks.classloader.CompositeClassLoader
All Implemented Interfaces:
ClassLoaderStrategy, java.io.Serializable

public class CompositeClassLoader
extends java.lang.ClassLoader
implements ClassLoaderStrategy

See Also:
Serialized Form

Constructor Summary
CompositeClassLoader()
           
CompositeClassLoader(java.lang.ClassLoader parent)
           
CompositeClassLoader(java.lang.ClassLoader parent, ClassLoaderStrategy[] loaders)
           
CompositeClassLoader(ClassLoaderStrategy[] loaders)
           
 
Method Summary
 void addLoader(ClassLoaderStrategy cls)
           
 java.util.Enumeration enumLoaders()
           
protected  java.lang.Class findClass(java.lang.String name)
          Find the class bytecode; defers to the Strategy's findClassBytes method.
 byte[] findClassBytes(java.lang.String className)
          Return byte array (which will be turned into a Class instance via ClassLoader.defineClass) for class
 java.lang.String findLibraryPath(java.lang.String libraryName)
          Return full path to native library given by the name libraryName.
 java.util.Enumeration findResourcesEnum(java.lang.String resourceName)
          Return Enumeration of resources corresponding to resourceName.
 java.net.URL findResourceURL(java.lang.String resourceName)
          Return URL for resource given by resourceName
static void main(java.lang.String[] args)
           
 void removeLoader(ClassLoaderStrategy cls)
           
 
Methods inherited from class java.lang.ClassLoader
defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeClassLoader

public CompositeClassLoader()

CompositeClassLoader

public CompositeClassLoader(ClassLoaderStrategy[] loaders)

CompositeClassLoader

public CompositeClassLoader(java.lang.ClassLoader parent)

CompositeClassLoader

public CompositeClassLoader(java.lang.ClassLoader parent,
                            ClassLoaderStrategy[] loaders)
Method Detail

addLoader

public void addLoader(ClassLoaderStrategy cls)

enumLoaders

public java.util.Enumeration enumLoaders()

removeLoader

public void removeLoader(ClassLoaderStrategy cls)

findClassBytes

public byte[] findClassBytes(java.lang.String className)
Return byte array (which will be turned into a Class instance via ClassLoader.defineClass) for class
Specified by:
findClassBytes in interface ClassLoaderStrategy

findResourceURL

public java.net.URL findResourceURL(java.lang.String resourceName)
Return URL for resource given by resourceName
Specified by:
findResourceURL in interface ClassLoaderStrategy

findResourcesEnum

public java.util.Enumeration findResourcesEnum(java.lang.String resourceName)
Return Enumeration of resources corresponding to resourceName.
Specified by:
findResourcesEnum in interface ClassLoaderStrategy

findLibraryPath

public java.lang.String findLibraryPath(java.lang.String libraryName)
Return full path to native library given by the name libraryName.
Specified by:
findLibraryPath in interface ClassLoaderStrategy

findClass

protected java.lang.Class findClass(java.lang.String name)
                             throws java.lang.ClassNotFoundException
Find the class bytecode; defers to the Strategy's findClassBytes method.
Overrides:
findClass in class java.lang.ClassLoader

main

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