package com.l7tech.server.util;

import java.lang.annotation.Annotation;
import java.util.Collection;
import org.springframework.aop.ClassFilter;
import org.springframework.aop.MethodMatcher;
import org.springframework.aop.Pointcut;
import org.springframework.aop.support.ComposablePointcut;
import org.springframework.aop.support.annotation.AnnotationClassFilter;
import org.springframework.aop.support.annotation.AnnotationMethodMatcher;
import org.springframework.core.Ordered;

public class AnnotationPointcut implements Ordered, Pointcut {
   private final ComposablePointcut a;
   private final int b;

   public AnnotationPointcut(Collection<Class<? extends Annotation>> var1, Collection<Class<? extends Annotation>> var2, boolean var3, int var4) {
      ComposablePointcut var5 = new ComposablePointcut();

      for (Class var7 : var1) {
         AnnotationClassFilter var8 = new AnnotationClassFilter(var7, var3);
         var5.intersection(var8);
      }

      for (Class var10 : var2) {
         AnnotationMethodMatcher var11 = new AnnotationMethodMatcher(var10);
         var5.intersection(var11);
      }

      this.a = var5;
      this.b = var4;
   }

   public ClassFilter getClassFilter() {
      return this.a.getClassFilter();
   }

   public MethodMatcher getMethodMatcher() {
      return this.a.getMethodMatcher();
   }

   public int getOrder() {
      return this.b;
   }
}
