01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.object.config;
06:
07: /**
08: * Transparency code specification, modifies method code
09: */
10: public interface TransparencyCodeSpec {
11:
12: /**
13: * Check whether calling System.arraycopy() should be instrumented
14: * @param className Class name to check
15: * @prarm methodName Method to check
16: * @return True to instrument
17: */
18: public boolean isArraycopyInstrumentationReq(String className,
19: String methodName);
20:
21: /**
22: * Set that System.arraycopy() should be instrumented
23: * @param arraycopyInstrumentationReq Flag
24: */
25: public void setArraycopyInstrumentationReq(
26: boolean arraycopyInstrumentationReq);
27:
28: /**
29: * Check whether store operations on arrays should be instrumented
30: * @return True to instrument
31: */
32: public boolean isArrayOperatorInstrumentationReq();
33:
34: /**
35: * Set that array store operations should be instrumented
36: * @param arrayOperatorInstrumentationReq Flag
37: */
38: public void setArrayOperatorInstrumentationReq(
39: boolean arrayOperatorInstrumentationReq);
40:
41: /**
42: * Check whether field access should be instrumented
43: * @param fieldName Field to check
44: * @return True to instrument
45: */
46: public boolean isFieldInstrumentationReq(String fieldName);
47:
48: /**
49: * Set that field access should be instrumented
50: * @param fieldInstrumentationReq Flag
51: */
52: public void setFieldInstrumentationReq(
53: boolean fieldInstrumentationReq);
54:
55: /**
56: * Check whether wait/notify instructions should be instrumented
57: * @return True to instrument
58: */
59: public boolean isWaitNotifyInstrumentationReq();
60:
61: /**
62: * Set that wait/notify should be instrumented
63: * @param waitNotifyInstrumentationReq Flag
64: */
65: public void setWaitNotifyInstrumentationReq(
66: boolean waitNotifyInstrumentationReq);
67:
68: /**
69: * Check whether MONITORENTER and MONNITOREXIT should be instrumented
70: * @return True if MONITORENTER and MONNITOREXIT should be instrumented
71: */
72: public boolean isMonitorInstrumentationReq();
73:
74: /**
75: * Set that MONITORENTER and MONNITOREXIT should be instrumented
76: * @param monitorInstrumentationReq Flag
77: */
78: public void setMonitorInstrumentationReq(
79: boolean monitorInstrumentationReq);
80:
81: }
|