@@ -1,4 +0,0 @@ | |||
public interface IService { | |||
void method(long l) throws Exception; | |||
} |
@@ -1,8 +0,0 @@ | |||
public class Main { | |||
public static void main(String[] args) throws Exception { | |||
IService service = new Service(); | |||
service.method(42L); | |||
} | |||
} |
@@ -1,7 +0,0 @@ | |||
public class Service implements IService { | |||
public void method(long l) throws Exception { | |||
System.err.println("Original impl of service method, arg " + l); | |||
} | |||
} |
@@ -1,17 +0,0 @@ | |||
import org.aspectj.lang.ProceedingJoinPoint; | |||
import org.aspectj.lang.annotation.Around; | |||
import org.aspectj.lang.annotation.Aspect; | |||
@Aspect | |||
public class ServiceInterceptor { | |||
@Around("execution(void test.Service.method(long))") | |||
public void method(ProceedingJoinPoint pjp) throws Throwable { | |||
Object[] args = pjp.getArgs(); | |||
long id = (Long) args[0]; | |||
System.out.println("in advice, arg = " + id + " (before proceed)"); | |||
pjp.proceed(pjp.getArgs()); | |||
System.out.println("in advice (after proceed)"); | |||
} | |||
} |
@@ -1,15 +0,0 @@ | |||
import org.aspectj.lang.ProceedingJoinPoint; | |||
import org.aspectj.lang.annotation.Around; | |||
import org.aspectj.lang.annotation.Aspect; | |||
public aspect ServiceInterceptorCodeStyle { | |||
void around(): execution(void Service.method(long)) { | |||
Object[] args = thisJoinPoint.getArgs(); | |||
long id = (Long) args[0]; | |||
System.out.println("in advice, arg = " + id + " (before proceed)"); | |||
proceed(); | |||
System.out.println("in advice (after proceed)"); | |||
} | |||
} |