01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.aspectwerkz.joinpoint;
05:
06: /**
07: * Holds static and reflective information about the join point (Runtime Type Information).
08: *
09: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
10: */
11: public interface Rtti {
12: /**
13: * Returns the name (f.e. name of method of field).
14: *
15: * @return
16: */
17: String getName();
18:
19: /**
20: * Returns the target instance.
21: *
22: * @return the target instance
23: */
24: Object getTarget();
25:
26: /**
27: * Returns the instance currently executing (this).
28: *
29: * @return the instance currently executing (this)
30: */
31: Object getThis();
32:
33: /**
34: * Returns the declaring class.
35: *
36: * @return the declaring class
37: */
38: Class getDeclaringType();
39:
40: /**
41: * Returns the modifiers for the signature. <p/>Could be used like this:
42: * <p/>
43: * <pre>
44: * boolean isPublic = java.lang.reflect.Modifier.isPublic(signature.getModifiers());
45: * </pre>
46: *
47: * @return the mofifiers
48: */
49: int getModifiers();
50:
51: Rtti cloneFor(Object targetInstance, Object thisInstance);
52: }
|