Each piece of advice is of the form
[ strictfp ] AdviceSpec
[ throws TypeList ] :
Pointcut {
Body }
where
AdviceSpec is one of
-
before( Formals )
-
runs before each join point
-
after( Formals ) returning
[ ( Formal ) ]
-
runs after each join point that returns normally. The
optional formal gives access to the returned value
-
after( Formals ) throwing [
( Formal ) ]
-
runs after each join point that throws a
Throwable. If the optional formal is
present, runs only after each join point that throws a
Throwable of the type of
Formal, and
Formal gives access to the
Throwable exception value
-
after( Formals )
-
runs after each join point regardless of whether it returns
normally or throws a Throwable
-
Type
around( Formals )
-
runs in place of each join point. The join point can be
executed by calling proceed, which takes
the same number and types of arguments as the around advice.
Three special variables are available inside of advice bodies:
-
thisJoinPoint
-
an object of type org.aspectj.lang.JoinPoint
representing the join point at which the advice is executing.
-
thisJoinPointStaticPart
-
equivalent to thisJoinPoint.getStaticPart(),
but may use fewer runtime resources.
-
thisEnclosingJoinPointStaticPart
-
the static part of the dynamically enclosing join point.