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 }