类 AspectJAfterReturningAdvice

java.lang.Object
infra.aop.aspectj.AbstractAspectJAdvice
infra.aop.aspectj.AspectJAfterReturningAdvice
所有已实现的接口:
AfterAdvice, AfterReturningAdvice, AspectJPrecedenceInformation, infra.core.Ordered, Serializable, Advice

public class AspectJAfterReturningAdvice extends AbstractAspectJAdvice implements AfterReturningAdvice, AfterAdvice, Serializable
Framework AOP advice wrapping an AspectJ after-returning advice method.
从以下版本开始:
4.0
作者:
Rod Johnson, Juergen Hoeller, Ramnivas Laddad
另请参阅:
  • 构造器详细资料

  • 方法详细资料

    • isBeforeAdvice

      public boolean isBeforeAdvice()
      从接口复制的说明: AspectJPrecedenceInformation
      Return whether this is a before advice.
      指定者:
      isBeforeAdvice 在接口中 AspectJPrecedenceInformation
    • isAfterAdvice

      public boolean isAfterAdvice()
      从接口复制的说明: AspectJPrecedenceInformation
      Return whether this is an after advice.
      指定者:
      isAfterAdvice 在接口中 AspectJPrecedenceInformation
    • setReturningName

      public void setReturningName(String name)
      覆盖:
      setReturningName 在类中 AbstractAspectJAdvice
    • afterReturning

      public void afterReturning(Object returnValue, MethodInvocation invocation) throws Throwable
      从接口复制的说明: AfterReturningAdvice
      Callback after a given method successfully returned.
      指定者:
      afterReturning 在接口中 AfterReturningAdvice
      参数:
      returnValue - the value returned by the method, if any
      invocation - the method invocation join-point
      抛出:
      Throwable - if this object wishes to abort the call. Any exception thrown will be returned to the caller if it's allowed by the method signature. Otherwise the exception will be wrapped as a runtime exception.
    • shouldInvokeOnReturnValueOf

      private boolean shouldInvokeOnReturnValueOf(Method method, @Nullable Object returnValue)
      Following AspectJ semantics, if a returning clause was specified, then the advice is only invoked if the returned value is an instance of the given returning type and generic type parameters, if any, match the assignment rules. If the returning type is Object, the advice is *always* invoked.
      参数:
      returnValue - the return value of the target method
      返回:
      whether to invoke the advice method for the given return value
    • matchesReturnValue

      private boolean matchesReturnValue(Class<?> type, Method method, @Nullable Object returnValue)
      Following AspectJ semantics, if a return value is null (or return type is void), then the return type of target method should be used to determine whether advice is invoked or not. Also, even if the return type is void, if the type of argument declared in the advice method is Object, then the advice must still get invoked.
      参数:
      type - the type of argument declared in advice method
      method - the advice method
      returnValue - the return value of the target method
      返回:
      whether to invoke the advice method for the given return value and type