org.biojava.utils.bytecode
Class GeneratedClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.biojava.utils.bytecode.GeneratedClassLoader

public class GeneratedClassLoader
extends ClassLoader

A class loader that actually produces real Java classes from GeneratedCodeClass instances.

Author:
Thomas Down, Matthew Pocock

Constructor Summary
GeneratedClassLoader()
          Create a new loader with the default parent.
GeneratedClassLoader(ClassLoader parent)
          Create a new loader with an explicitly set parent class loader.
 
Method Summary
 Class defineClass(GeneratedCodeClass cc)
          Define a class based upon a GeneratedCodeClass.
 boolean hasGeneratedClass(String name)
          Discover if a class for this name has already been defined by this class loader.
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, 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

GeneratedClassLoader

public GeneratedClassLoader()
Create a new loader with the default parent.


GeneratedClassLoader

public GeneratedClassLoader(ClassLoader parent)
Create a new loader with an explicitly set parent class loader.

Parameters:
parent - the parent ClassLoader
Method Detail

defineClass

public Class defineClass(GeneratedCodeClass cc)
                  throws CodeException
Define a class based upon a GeneratedCodeClass.

Parameters:
cc - the GeneratedCodeClass to define
Returns:
the newly defined class
Throws:
CodeException - if there was a failure defining the class

hasGeneratedClass

public boolean hasGeneratedClass(String name)
Discover if a class for this name has already been defined by this class loader.

Parameters:
name - the name of the class
Returns:
true if the class has already been defined by this loader