| 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 ; 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 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 |