169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalpackage sample.reflect; 269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalimport javassist.tools.reflect.*; 469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalpublic class VerboseMetaobj extends Metaobject { 669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public VerboseMetaobj(Object self, Object[] args) { 769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal super(self, args); 869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal System.out.println("** constructed: " + self.getClass().getName()); 969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 1069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 1169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public Object trapFieldRead(String name) { 1269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal System.out.println("** field read: " + name); 1369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal return super.trapFieldRead(name); 1469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 1569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 1669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public void trapFieldWrite(String name, Object value) { 1769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal System.out.println("** field write: " + name); 1869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal super.trapFieldWrite(name, value); 1969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 2069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal 2169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal public Object trapMethodcall(int identifier, Object[] args) 2269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal throws Throwable { 2369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal System.out.println("** trap: " + getMethodName(identifier) + "() in " 2469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal + getClassMetaobject().getName()); 2569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal return super.trapMethodcall(identifier, args); 2669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal } 2769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal} 28