ccl.util
Class ReflectionClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--ccl.util.ReflectionClassLoader

public class ReflectionClassLoader
extends java.lang.ClassLoader

Used to load classes just to examine with the reflection api, not to use them. Based on SimpleClassLoader from "Java Virtual Machine" by Jon Meyer & Tom Downing.


Constructor Summary
ReflectionClassLoader()
           
ReflectionClassLoader(java.lang.String sClasspath_)
           
 
Method Summary
 java.lang.String getAbsoluteClassFileName(java.lang.String sFullClassName_)
           
 byte[] getClassFile(java.lang.String sFullClassName_)
           
 byte[] getClassFromJavaArchives(java.lang.String sFullClassName_)
           
protected  java.lang.Class loadClass(java.lang.String sClassName_, boolean bResolve_)
          Gets invoked from ClassLoader's loadClass(String) method.
 byte[] loadClassFile(java.lang.String sAbsoluteClassFileName_)
           
 byte[] loadClassFile(java.util.zip.ZipFile zipOpen_, java.util.zip.ZipEntry pZipEntry_)
           
 void setClasspath(java.lang.String sClasspath_)
           
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, 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, toString, wait, wait, wait
 

Constructor Detail

ReflectionClassLoader

public ReflectionClassLoader()

ReflectionClassLoader

public ReflectionClassLoader(java.lang.String sClasspath_)
Method Detail

getAbsoluteClassFileName

public java.lang.String getAbsoluteClassFileName(java.lang.String sFullClassName_)

loadClassFile

public byte[] loadClassFile(java.lang.String sAbsoluteClassFileName_)
                     throws java.io.IOException
java.io.IOException

loadClassFile

public byte[] loadClassFile(java.util.zip.ZipFile zipOpen_,
                            java.util.zip.ZipEntry pZipEntry_)
                     throws java.io.IOException,
                            java.util.zip.ZipException
java.io.IOException
java.util.zip.ZipException

getClassFromJavaArchives

public byte[] getClassFromJavaArchives(java.lang.String sFullClassName_)
                                throws java.io.IOException,
                                       java.util.zip.ZipException
java.io.IOException
java.util.zip.ZipException

getClassFile

public byte[] getClassFile(java.lang.String sFullClassName_)
                    throws java.io.IOException,
                           java.lang.ClassNotFoundException,
                           java.util.zip.ZipException
java.io.IOException
java.lang.ClassNotFoundException
java.util.zip.ZipException

loadClass

protected java.lang.Class loadClass(java.lang.String sClassName_,
                                    boolean bResolve_)
                             throws java.lang.ClassNotFoundException
Gets invoked from ClassLoader's loadClass(String) method.

Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException - if the class was not found

setClasspath

public void setClasspath(java.lang.String sClasspath_)