1 15 16 package javassist.reflect; 17 18 21 public class Sample { 22 private Metaobject _metaobject; 23 private static ClassMetaobject _classobject; 24 25 public Object trap(Object [] args, int identifier) throws Throwable { 26 Metaobject mobj; 27 mobj = _metaobject; 28 if (mobj == null) 29 return ClassMetaobject.invoke(this, identifier, args); 30 else 31 return mobj.trapMethodcall(identifier, args); 32 } 33 34 public static Object trapStatic(Object [] args, int identifier) 35 throws Throwable 36 { 37 return _classobject.trapMethodcall(identifier, args); 38 } 39 40 public static Object trapRead(Object [] args, String name) { 41 if (args[0] == null) 42 return _classobject.trapFieldRead(name); 43 else 44 return ((Metalevel)args[0])._getMetaobject().trapFieldRead(name); 45 } 46 47 public static Object trapWrite(Object [] args, String name) { 48 Metalevel base = (Metalevel)args[0]; 49 if (base == null) 50 _classobject.trapFieldWrite(name, args[1]); 51 else 52 base._getMetaobject().trapFieldWrite(name, args[1]); 53 54 return null; 55 } 56 } 57 | Popular Tags |