KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tirsen > nanning > locking > P


1 package com.tirsen.nanning.locking;
2
3 import com.tirsen.nanning.config.AbstractPointcut;
4 import com.tirsen.nanning.config.Pointcut;
5 import com.tirsen.nanning.MixinInstance;
6 import com.tirsen.nanning.AspectInstance;
7
8 import java.lang.reflect.Method JavaDoc;
9
10 public class P {
11     public static class AndPointcut extends AbstractPointcut {
12         private Pointcut pointcut1;
13         private Pointcut pointcut2;
14
15         public AndPointcut(Pointcut pointcut1, Pointcut pointcut2) {
16             this.pointcut1 = pointcut1;
17             this.pointcut2 = pointcut2;
18         }
19
20         public boolean adviseMixin(MixinInstance mixin) {
21             return pointcut1.adviseMixin(mixin) && pointcut2.adviseMixin(mixin);
22         }
23
24         public boolean adviseInstance(AspectInstance instance) {
25             return pointcut1.adviseInstance(instance) && pointcut1.adviseInstance(instance);
26         }
27
28         public boolean adviseMethod(Method JavaDoc method) {
29             return pointcut1.adviseMethod(method) && pointcut2.adviseMethod(method);
30         }
31     }
32
33     public static Pointcut and(Pointcut pointcut1, Pointcut pointcut2) {
34         return new AndPointcut(pointcut1, pointcut2);
35     }
36 }
37
Popular Tags