blob: 2870eab094fc815e9e3cd7608feba6172915f5e6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package examples.rtrefl;
import java.lang.reflect.*;
/**
* The class VerboseRTMetaObject
* Exception handling is not implemented.
*/
public class VerboseRTMetaObject extends RTMetaObject
{
RTMetaLevel baseObj;
public VerboseRTMetaObject(RTMetaLevel base_obj) {
super(base_obj);
this.baseObj = base_obj;
}
public Object trapMethodCall(String name, Class[] paramTypes, Object[] args)
{
System.out.println(baseObj.getClass().getName() + "." +
name + "()" + " is called." );
return super.trapMethodCall(name, paramTypes, args);
}
public Object trapFieldRead(String name) {
System.out.println(baseObj.getClass().getName() + "." +
name + " is read." );
return super.trapFieldRead(name);
}
public void trapFieldWrite(String name, Object rvalue) {
System.out.println(baseObj.getClass().getName() + "." +
name + " is written." );
super.trapFieldWrite(name, rvalue);
}
}
|