The Spring Framework

org.springframework.aop.aspectj
Class AspectJAroundAdvice

java.lang.Object
  extended by org.springframework.aop.aspectj.AbstractAspectJAdvice
      extended by org.springframework.aop.aspectj.AspectJAroundAdvice
All Implemented Interfaces:
org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor, AspectJPrecedenceInformation, InitializingBean, Ordered

public class AspectJAroundAdvice
extends AbstractAspectJAdvice
implements org.aopalliance.intercept.MethodInterceptor

Spring AOP around advice (MethodInterceptor) that wraps an AspectJ advice method. Exposes ProceedingJoinPoint.

Since:
2.0
Author:
Rod Johnson

Field Summary
 
Fields inherited from class org.springframework.aop.aspectj.AbstractAspectJAdvice
aspectJAdviceMethod, JOIN_POINT_KEY
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
AspectJAroundAdvice(Method aspectJAroundAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif, ParameterNameDiscoverer parameterNameDiscoverer)
           
 
Method Summary
 Object invoke(org.aopalliance.intercept.MethodInvocation mi)
           
 boolean isAfterAdvice()
           
 boolean isBeforeAdvice()
           
protected  org.aspectj.lang.ProceedingJoinPoint lazyGetProceedingJoinPoint(ReflectiveMethodInvocation rmi)
          Return the ProceedingJoinPoint for the current invocation, instantiating it lazily if it hasn't already been bound to the thread
 
Methods inherited from class org.springframework.aop.aspectj.AbstractAspectJAdvice
afterPropertiesSet, argBinding, currentJoinPoint, getAspectJAdviceMethod, getAspectName, getDeclarationOrder, getDiscoveredReturningType, getDiscoveredThrowingType, getJoinPoint, getJoinPointMatch, getJoinPointMatch, getOrder, getPointcut, invokeAdviceMethod, invokeAdviceMethod, invokeAdviceMethodWithGivenArgs, setArgumentNames, setArgumentNamesFromStringArray, setAspectBean, setAspectName, setDeclarationOrder, setReturningName, setReturningNameNoCheck, setThrowingName, setThrowingNameNoCheck, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AspectJAroundAdvice

public AspectJAroundAdvice(Method aspectJAroundAdviceMethod,
                           AspectJExpressionPointcut pointcut,
                           AspectInstanceFactory aif,
                           ParameterNameDiscoverer parameterNameDiscoverer)
Method Detail

isBeforeAdvice

public boolean isBeforeAdvice()
Specified by:
isBeforeAdvice in interface AspectJPrecedenceInformation

isAfterAdvice

public boolean isAfterAdvice()
Specified by:
isAfterAdvice in interface AspectJPrecedenceInformation

invoke

public Object invoke(org.aopalliance.intercept.MethodInvocation mi)
              throws Throwable
Specified by:
invoke in interface org.aopalliance.intercept.MethodInterceptor
Throws:
Throwable

lazyGetProceedingJoinPoint

protected org.aspectj.lang.ProceedingJoinPoint lazyGetProceedingJoinPoint(ReflectiveMethodInvocation rmi)
Return the ProceedingJoinPoint for the current invocation, instantiating it lazily if it hasn't already been bound to the thread

Parameters:
rmi - current Spring AOP ReflectiveMethodInvocation, which we'll use for attribute binding
Returns:
the ProceedingJoinPoint to make available to advice methods

The Spring Framework

Copyright © 2002-2006 The Spring Framework.