janino.net

org.codehaus.janino
Class ByteArrayClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.codehaus.janino.ByteArrayClassLoader

public class ByteArrayClassLoader
extends ClassLoader

This ClassLoader allows for the loading of a set of Java™ classes provided in class file format.


Constructor Summary
ByteArrayClassLoader(Map<String,byte[]> classes)
          The given Map of classes must not be modified afterwards.
ByteArrayClassLoader(Map<String,byte[]> classes, ClassLoader parent)
           
 
Method Summary
protected  Class findClass(String name)
          Implements ClassLoader.findClass(String).
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResource, 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

ByteArrayClassLoader

public ByteArrayClassLoader(Map<String,byte[]> classes)
The given Map of classes must not be modified afterwards.

Parameters:
classes - String className => byte[] data

ByteArrayClassLoader

public ByteArrayClassLoader(Map<String,byte[]> classes,
                            ClassLoader parent)
See Also:
ByteArrayClassLoader(Map)
Method Detail

findClass

protected Class findClass(String name)
                   throws ClassNotFoundException
Implements ClassLoader.findClass(String).

Notice that, although nowhere documented, no more than one thread at a time calls this method, because ClassLoader.loadClass(java.lang.String) is synchronized.

Overrides:
findClass in class ClassLoader
Throws:
ClassNotFoundException

janino.net