net.sf.tie
Interface WrappedMethodInvocation

All Superinterfaces:
Invocation, Joinpoint, MethodInvocation

public interface WrappedMethodInvocation
extends MethodInvocation

Extends the AOP Alliance's MethodInvocation interface with the concept of a method implementation.
The method implementation is the method as it is defined on the class (object) being intercepted. This may the same as the declared method, if the declaring class is the same as the implementing class, but will in normal usage, not be. Typical usage of method interception in Tie is for intercepting via interfaces - in this situation the declared method has no implementation, and so the two Method objects cannot be the same.
The common use case that requires knowledge of the implementing method is annotation processing. There are situations where the presence (or absence) of a particular annotation on the method implementation will affect the manner in which interception is applied.


Method Summary
 Method getMethodDeclaration()
          This method exists for orthogonality with getMethodImplementation(), but will always return the same value as MethodInvocation.getMethod().
 Method getMethodImplementation()
           
 
Methods inherited from interface org.aopalliance.intercept.MethodInvocation
getMethod
 
Methods inherited from interface org.aopalliance.intercept.Invocation
getArguments
 
Methods inherited from interface org.aopalliance.intercept.Joinpoint
getStaticPart, getThis, proceed
 

Method Detail

getMethodDeclaration

Method getMethodDeclaration()
This method exists for orthogonality with getMethodImplementation(), but will always return the same value as MethodInvocation.getMethod().


getMethodImplementation

Method getMethodImplementation()
Returns:
A method defined on Joinpoint.getThis(), that is the implementation for getMethodDeclaration().