org.springframework.aop.aspectj
Class MethodInvocationProceedingJoinPoint

java.lang.Object
  extended by org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint
All Implemented Interfaces:
org.aspectj.lang.JoinPoint, org.aspectj.lang.JoinPoint.StaticPart, org.aspectj.lang.ProceedingJoinPoint

public class MethodInvocationProceedingJoinPoint
extends Object
implements org.aspectj.lang.ProceedingJoinPoint, org.aspectj.lang.JoinPoint.StaticPart

Implementation of AspectJ ProceedingJoinPoint interface wrapping an AOP Alliance MethodInvocation.

Note: the getThis() method returns the current Spring AOP proxy. The getTarget() method returns the current Spring AOP target (which may be null if there is no target), and is a plain POJO without any advice. If you want to call the object and have the advice take effect, use getThis(). A common example is casting the object to an introduced interface in the implementation of an introduction.

Of course there is no such distinction between target and proxy in AspectJ.

Since:
2.0
Author:
Rod Johnson, Juergen Hoeller, Adrian Colyer, Ramnivas Laddad

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.aspectj.lang.JoinPoint
org.aspectj.lang.JoinPoint.EnclosingStaticPart, org.aspectj.lang.JoinPoint.StaticPart
 
Field Summary
 
Fields inherited from interface org.aspectj.lang.JoinPoint
ADVICE_EXECUTION, CONSTRUCTOR_CALL, CONSTRUCTOR_EXECUTION, EXCEPTION_HANDLER, FIELD_GET, FIELD_SET, INITIALIZATION, METHOD_CALL, METHOD_EXECUTION, PREINITIALIZATION, STATICINITIALIZATION, SYNCHRONIZATION_LOCK, SYNCHRONIZATION_UNLOCK
 
Constructor Summary
MethodInvocationProceedingJoinPoint(ProxyMethodInvocation methodInvocation)
          Create a new MethodInvocationProceedingJoinPoint, wrapping the given Spring ProxyMethodInvocation object.
 
Method Summary
 Object[] getArgs()
           
 int getId()
           
 String getKind()
           
 org.aspectj.lang.Signature getSignature()
           
 org.aspectj.lang.reflect.SourceLocation getSourceLocation()
           
 org.aspectj.lang.JoinPoint.StaticPart getStaticPart()
           
 Object getTarget()
          Returns the Spring AOP target.
 Object getThis()
          Returns the Spring AOP proxy.
 Object proceed()
           
 Object proceed(Object[] arguments)
           
 void set$AroundClosure(org.aspectj.runtime.internal.AroundClosure aroundClosure)
           
 String toLongString()
           
 String toShortString()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MethodInvocationProceedingJoinPoint

public MethodInvocationProceedingJoinPoint(ProxyMethodInvocation methodInvocation)
Create a new MethodInvocationProceedingJoinPoint, wrapping the given Spring ProxyMethodInvocation object.

Parameters:
methodInvocation - the Spring ProxyMethodInvocation object
Method Detail

set$AroundClosure

public void set$AroundClosure(org.aspectj.runtime.internal.AroundClosure aroundClosure)
Specified by:
set$AroundClosure in interface org.aspectj.lang.ProceedingJoinPoint

proceed

public Object proceed()
               throws Throwable
Specified by:
proceed in interface org.aspectj.lang.ProceedingJoinPoint
Throws:
Throwable

proceed

public Object proceed(Object[] arguments)
               throws Throwable
Specified by:
proceed in interface org.aspectj.lang.ProceedingJoinPoint
Throws:
Throwable

getThis

public Object getThis()
Returns the Spring AOP proxy. Cannot be null.

Specified by:
getThis in interface org.aspectj.lang.JoinPoint

getTarget

public Object getTarget()
Returns the Spring AOP target. May be null if there is no target.

Specified by:
getTarget in interface org.aspectj.lang.JoinPoint

getArgs

public Object[] getArgs()
Specified by:
getArgs in interface org.aspectj.lang.JoinPoint

getSignature

public org.aspectj.lang.Signature getSignature()
Specified by:
getSignature in interface org.aspectj.lang.JoinPoint
Specified by:
getSignature in interface org.aspectj.lang.JoinPoint.StaticPart

getSourceLocation

public org.aspectj.lang.reflect.SourceLocation getSourceLocation()
Specified by:
getSourceLocation in interface org.aspectj.lang.JoinPoint
Specified by:
getSourceLocation in interface org.aspectj.lang.JoinPoint.StaticPart

getKind

public String getKind()
Specified by:
getKind in interface org.aspectj.lang.JoinPoint
Specified by:
getKind in interface org.aspectj.lang.JoinPoint.StaticPart

getId

public int getId()

getStaticPart

public org.aspectj.lang.JoinPoint.StaticPart getStaticPart()
Specified by:
getStaticPart in interface org.aspectj.lang.JoinPoint

toShortString

public String toShortString()
Specified by:
toShortString in interface org.aspectj.lang.JoinPoint
Specified by:
toShortString in interface org.aspectj.lang.JoinPoint.StaticPart

toLongString

public String toLongString()
Specified by:
toLongString in interface org.aspectj.lang.JoinPoint
Specified by:
toLongString in interface org.aspectj.lang.JoinPoint.StaticPart

toString

public String toString()
Specified by:
toString in interface org.aspectj.lang.JoinPoint
Specified by:
toString in interface org.aspectj.lang.JoinPoint.StaticPart
Overrides:
toString in class Object