gnu.bytecode
Class ArrayClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by gnu.bytecode.ArrayClassLoader

public class ArrayClassLoader
extends java.lang.ClassLoader

Load classes from a set of byte arrays.


Constructor Summary
ArrayClassLoader()
           
ArrayClassLoader(byte[][] classBytes)
          Load classes from the given byte arrays.
ArrayClassLoader(java.lang.ClassLoader parent)
           
ArrayClassLoader(java.lang.String[] classNames, byte[][] classBytes)
           
 
Method Summary
 void addClass(java.lang.Class clas)
           
 void addClass(ClassType ctype)
           
 void addClass(java.lang.String name, byte[] bytes)
           
 java.lang.Class findClass(java.lang.String name)
           
protected  java.net.URL findResource(java.lang.String name)
           
 java.net.URL getResourceContext()
          Get base URL to use for finding resources, or null if none is set.
 void setResourceContext(java.net.URL context)
          Set base URL to use for finding resources.
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, 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

ArrayClassLoader

public ArrayClassLoader()

ArrayClassLoader

public ArrayClassLoader(java.lang.ClassLoader parent)

ArrayClassLoader

public ArrayClassLoader(byte[][] classBytes)
Load classes from the given byte arrays. By convention, the classes we manage are named "lambda"+.


ArrayClassLoader

public ArrayClassLoader(java.lang.String[] classNames,
                        byte[][] classBytes)
Method Detail

getResourceContext

public java.net.URL getResourceContext()
Get base URL to use for finding resources, or null if none is set.


setResourceContext

public void setResourceContext(java.net.URL context)
Set base URL to use for finding resources.


addClass

public void addClass(java.lang.Class clas)

addClass

public void addClass(java.lang.String name,
                     byte[] bytes)

addClass

public void addClass(ClassType ctype)
              throws java.io.IOException
Throws:
java.io.IOException

findResource

protected java.net.URL findResource(java.lang.String name)
Overrides:
findResource in class java.lang.ClassLoader

findClass

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