1 21 package com.db4o.j2me.bloat; 22 23 import EDU.purdue.cs.bloat.editor.*; 24 import EDU.purdue.cs.bloat.file.*; 25 import EDU.purdue.cs.bloat.reflect.*; 26 27 import com.db4o.j2me.bloat.testdata.*; 28 import com.db4o.reflect.self.*; 29 30 public class Generation { 33 34 public static void main(String [] args) { 35 String outputDirName = "generated"; 36 ClassFileLoader loader = new ClassFileLoader(); 37 BloatContext context = new BloatContext(loader, outputDirName); 38 39 ClassEditor ce = context.createClass(Modifiers.PUBLIC, 40 "com.db4o.j2me.bloat.testdata.GeneratedDogSelfReflectionRegistry", Type.getType(Type.classDescriptor(SelfReflectionRegistry.class.getName())), 41 new Type[0]); 42 context.createLoadClassConstMethod(ce); 43 44 RegistryEnhancer registryEnhancer = new RegistryEnhancer(context, ce, 45 Dog.class); 46 registryEnhancer.generate(); 47 ce.commit(); 48 49 enhanceClass(context,"../bin","com.db4o.j2me.bloat.testdata.Dog"); 50 enhanceClass(context,"../bin","com.db4o.j2me.bloat.testdata.Animal"); 51 } 52 53 private static void enhanceClass(BloatContext context,String path,String name) { 54 ClassEditor cled = context.loadClass(path,name); 55 ClassEnhancer classEnhancer = new ClassEnhancer(context, cled); 56 classEnhancer.generate(); 57 cled.commit(); 58 } 59 } 60 | Popular Tags |