public Object around(ProceedingJoinPoint pjp) throws Throwable { aroundExecutions++; return pjp.proceed(); }
public int justJoinPoint(ProceedingJoinPoint pjp) throws Throwable { this.collaborator.justJoinPoint(pjp.getSignature().getName()); return ((Integer) pjp.proceed()).intValue(); }
@Before("execution(void *.additionalMethod(*))") public void log(JoinPoint jp) { System.out.println("Before " + jp.getSignature().getName()); } }
public void needsJoinPoint(JoinPoint tjp) { this.collaborator.needsJoinPoint(tjp.getSignature().getName()); }
public void needsJoinPointStaticPart(JoinPoint.StaticPart tjpsp) { this.collaborator.needsJoinPointStaticPart(tjpsp.getSignature().getName()); }
public void myAroundAdvice(ProceedingJoinPoint pjp) throws Throwable { this.aroundCount++; pjp.proceed(); }
public void increment(ProceedingJoinPoint pjp, Object bean, Object argument) throws Throwable { pjp.proceed(); } }
public void increment(ProceedingJoinPoint pjp) throws Throwable { pjp.proceed(); }
public Object around(ProceedingJoinPoint pjp) throws Throwable { Object ret = pjp.proceed(); this.collaborator.aroundAdviceFired(); return ret; } }
@Around(value="setAge(age)",argNames="age") // @ArgNames({"age"}) // AMC needs more work here? ignoring pjp arg... ok?? // argNames should be supported in Around as it is in Pointcut public void changeReturnType(ProceedingJoinPoint pjp, int age) throws Throwable { pjp.proceed(new Object[] {age*2}); } }