package org.rosenvold.spring.convention.aopclasses;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class TestAspect
{
@Around(value="execution(* testMethod(..))", argNames = "pjp")
@Order(1)
public Object clearCache( ProceedingJoinPoint pjp ) throws Throwable {
Object target = pjp.getTarget();
if (target instanceof DefaultTestInterface){
((DefaultTestInterface)target).setAopCalled();
}
return pjp.proceed();
}
}