org.springframework.aop.aspectj
Class AspectJAfterThrowingAdvice

java.lang.Object
  extended by org.springframework.aop.aspectj.AbstractAspectJAdvice
      extended by org.springframework.aop.aspectj.AspectJAfterThrowingAdvice
All Implemented Interfaces:
AfterAdvice, AspectJPrecedenceInformation, Ordered

public class AspectJAfterThrowingAdvice
extends AbstractAspectJAdvice
implements AfterAdvice

Spring AOP advice wrapping an AspectJ after-throwing advice method.

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
AspectJAfterThrowingAdvice(java.lang.reflect.Method aspectJBeforeAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif)
           
 
Method Summary
 java.lang.Object invoke(MethodInvocation mi)
           
 boolean isAfterAdvice()
          Return whether this is an after advice.
 boolean isBeforeAdvice()
          Return whether this is a before advice.
 void setThrowingName(java.lang.String name)
           
private  boolean shouldInvokeOnThrowing(java.lang.Throwable t)
          In AspectJ semantics, after throwing advice that specifies a throwing clause is only invoked if the thrown exception is a subtype of the given throwing type.
 
Methods inherited from class org.springframework.aop.aspectj.AbstractAspectJAdvice
argBinding, buildSafePointcut, calculateArgumentBindings, createParameterNameDiscoverer, currentJoinPoint, getAspectClassLoader, getAspectInstanceFactory, getAspectJAdviceMethod, getAspectName, getDeclarationOrder, getDiscoveredReturningGenericType, getDiscoveredReturningType, getDiscoveredThrowingType, getJoinPoint, getJoinPointMatch, getJoinPointMatch, getOrder, getPointcut, invokeAdviceMethod, invokeAdviceMethod, invokeAdviceMethodWithGivenArgs, setArgumentNames, setArgumentNamesFromStringArray, setAspectName, setDeclarationOrder, setReturningName, setReturningNameNoCheck, setThrowingNameNoCheck, supportsProceedingJoinPoint, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AspectJAfterThrowingAdvice

public AspectJAfterThrowingAdvice(java.lang.reflect.Method aspectJBeforeAdviceMethod,
                                  AspectJExpressionPointcut pointcut,
                                  AspectInstanceFactory aif)
Method Detail

isBeforeAdvice

public boolean isBeforeAdvice()
Description copied from interface: AspectJPrecedenceInformation
Return whether this is a before advice.

Specified by:
isBeforeAdvice in interface AspectJPrecedenceInformation

isAfterAdvice

public boolean isAfterAdvice()
Description copied from interface: AspectJPrecedenceInformation
Return whether this is an after advice.

Specified by:
isAfterAdvice in interface AspectJPrecedenceInformation

setThrowingName

public void setThrowingName(java.lang.String name)
Overrides:
setThrowingName in class AbstractAspectJAdvice

invoke

public java.lang.Object invoke(MethodInvocation mi)
                        throws java.lang.Throwable
Throws:
java.lang.Throwable

shouldInvokeOnThrowing

private boolean shouldInvokeOnThrowing(java.lang.Throwable t)
In AspectJ semantics, after throwing advice that specifies a throwing clause is only invoked if the thrown exception is a subtype of the given throwing type.