1 /* 2 * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved. 3 */ 4 package com.tc.aspectwerkz.joinpoint; 5 6 /** 7 * Implements the join point concept, e.g. defines a well defined point in the program flow. 8 * <p/> 9 * 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 }