KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > alt > jiapi > jazzpect > interceptor > MInterceptor


1 package alt.jiapi.jazzpect.interceptor;
2
3 import java.lang.reflect.InvocationHandler JavaDoc;
4 import java.lang.reflect.Method JavaDoc;
5
6 import org.aopalliance.intercept.MethodInterceptor;
7
8 import org.apache.log4j.Category;
9
10
11 /**
12  * Jazzpect MethodInterceptor. NOTE: We have a slightly different
13  * semantics here, which is a bit confusing:
14  * org.aopalliance.intercept.MethodInterceptor == InvokeHandler<p>
15  * MInterceptor should be renamed.
16  *
17  * @author Mika Riekkinen
18  */

19 public class MInterceptor implements InvocationHandler JavaDoc {
20     private static Category log =Category.getInstance(MethodInterceptor.class);
21     private MethodInterceptor interceptor;
22
23     public MInterceptor(MethodInterceptor mi) {
24         if (mi == null) {
25             throw new NullPointerException JavaDoc("MethodInterceptor may not be null");
26         }
27
28         this.interceptor = mi;
29     }
30
31     /**
32      * Called by Jiapi runtime. <p>
33      * This method is a bridge between Jiapi
34      * interceptors and aopalliance interceptors. It creates
35      * <code>org.aopalliance.intercept.MethodInvocation</code> and passes it to
36      * <code>rg.aopalliance.intercept.MethodInterceptor</code> given in
37      * constructor.
38      */

39     public Object JavaDoc invoke(Object JavaDoc target, Method JavaDoc m, Object JavaDoc[] args) throws Throwable JavaDoc {
40         MethodInvocation invocation = new MethodInvocation(target, m, args);
41
42         return interceptor.invoke(invocation);
43     }
44 }
45
Popular Tags