1 package name.dsouflis.aop.tracing; 2 3 import org.apache.bcel.Repository; 4 import org.apache.bcel.classfile.JavaClass; 5 import org.apache.bcel.util.ClassPath; 6 7 12 13 14 21 public class AddTracing extends Object { 22 23 24 private AddTracing() { 25 } 26 27 31 public static void main (String args[]) { 32 if(args.length==0) { 33 return; 34 } 35 String className=args[0]; 36 addTracing(className); 37 } 38 39 43 public static void addTracing(String className) { 44 final java.util.Vector classNames=new java.util.Vector (1); 45 classNames.add(className); 46 ClassMethodFilter flt=new ClassMethodFilter() { 47 public boolean classHasAdvice(String className) { 48 return classNames.indexOf(className)!=-1; 49 } 50 public boolean methodHasAdvice(String className, String methodName, String signature) { 51 return true; 52 } 53 }; 54 JavaClass clazz=TracingClassLoader.classWithTracing(flt,className); 55 ClassPath.ClassFile cf= Repository.lookupClassFile(className); 56 try { 57 clazz.dump(cf.getPath()); 58 } 59 catch(java.io.IOException e) { 60 e.printStackTrace(); 61 } 62 } 63 } | Popular Tags |