1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.onami.autobind.aop.example.interceptor;
17
18 import java.lang.reflect.Method;
19
20 import javax.interceptor.Interceptor;
21
22 import org.aopalliance.intercept.MethodInvocation;
23 import org.apache.onami.autobind.aop.ClassMatcher;
24 import org.apache.onami.autobind.aop.GuiceMethodInterceptor;
25 import org.apache.onami.autobind.aop.Intercept;
26 import org.apache.onami.autobind.aop.MethodMatcher;
27
28 import com.google.inject.matcher.Matcher;
29 import com.google.inject.matcher.Matchers;
30
31
32 @Interceptor
33 public class InheritedMethodInterceptor extends GuiceMethodInterceptor {
34
35 @Override
36 public Object invoke(MethodInvocation invocation) throws Throwable {
37 System.out.println(InheritedMethodInterceptor.class.getSimpleName()
38 + " - Trying to invoke: " + invocation.getMethod().getName());
39 return invocation.proceed();
40 }
41
42 @Override
43 @ClassMatcher
44 public Matcher<? super Class<?>> getClassMatcher() {
45 return Matchers.any();
46 }
47
48 @Override
49 @MethodMatcher
50 public Matcher<? super Method> getMethodMatcher() {
51 return Matchers.annotatedWith(Intercept.class);
52 }
53
54 }