001 /*
002 @license.text@
003 */
004 package biz.hammurapi.codegen;
005
006 import org.apache.bcel.classfile.JavaClass;
007
008 /**
009 * Injects generated classes.
010 * @author Pavel Vlasov
011 * @version $Revision: 1.1 $
012 */
013 public class InjectingClassLoader extends ClassLoader implements Consumer {
014
015 public InjectingClassLoader(ClassLoader parent) {
016 super(parent);
017 }
018
019 public void consume(JavaClass javaClass) throws GenerationException {
020 byte[] classBytes=javaClass.getBytes();
021 defineClass(javaClass.getClassName(), classBytes, 0, classBytes.length);
022 }
023
024 public void consume(ClassGeneratorBase cgb) throws GenerationException {
025 consume(cgb.getJavaClass());
026 }
027
028 public GenerationListener getListener() {
029 return null;
030 }
031 }