View Javadoc

1   /***************************************************************************************
2    * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved.                 *
3    * http://aspectwerkz.codehaus.org                                                    *
4    * ---------------------------------------------------------------------------------- *
5    * The software in this package is published under the terms of the LGPL license      *
6    * a copy of which has been included with this distribution in the license.txt file.  *
7    **************************************************************************************/
8   package org.codehaus.aspectwerkz.joinpoint;
9   
10  /***
11   * Implements the join point concept, e.g. defines a well defined point in the program flow.
12   * <p/>
13   * Provides access to runtime type information (RTTI), is therefore significantly <b>slower</b>
14   * than the usage of the {@link org.codehaus.aspectwerkz.joinpoint.StaticJoinPoint} interface.
15   *
16   * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
17   */
18  public interface JoinPoint extends StaticJoinPoint {
19  
20      /***
21       * Returns the callee instance.
22       *
23       * @return the callee instance
24       */
25      Object getCallee();
26  
27      /***
28       * Returns the caller instance.
29       *
30       * @return the caller instance
31       */
32      Object getCaller();
33  
34      /***
35       * Returns the 'this' instance (the one currently executing).
36       *
37       * @return 'this'
38       */
39      Object getThis();
40  
41      /***
42       * Returns the target instance. If the join point is executing in a static context it returns null.
43       *
44       * @return the target instance
45       */
46      Object getTarget();
47  
48      /***
49       * Returns the JoinPoint RTTI
50       *
51       * @return the Rtti
52       */
53      Rtti getRtti();
54  }