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    }