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: * Implements the join point concept, e.g. defines a well defined point in the program flow.
08: * <p/>
09: * Provides access to runtime type information (RTTI), is therefore significantly <b>slower</b>
10: * than the usage of the {@link com.tc.aspectwerkz.joinpoint.StaticJoinPoint} interface.
11: *
12: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
13: */
14: public interface JoinPoint extends StaticJoinPoint {
15:
16: /**
17: * Returns the callee instance.
18: *
19: * @return the callee instance
20: */
21: Object getCallee();
22:
23: /**
24: * Returns the caller instance.
25: *
26: * @return the caller instance
27: */
28: Object getCaller();
29:
30: /**
31: * Returns the 'this' instance (the one currently executing).
32: *
33: * @return 'this'
34: */
35: Object getThis();
36:
37: /**
38: * Returns the target instance. If the join point is executing in a static context it returns null.
39: *
40: * @return the target instance
41: */
42: Object getTarget();
43:
44: /**
45: * Returns the JoinPoint RTTI
46: *
47: * @return the Rtti
48: */
49: Rtti getRtti();
50: }
|