1 16 17 package org.springframework.aop.aspectj; 18 19 import org.aspectj.weaver.tools.PointcutParser; 20 import org.aspectj.weaver.tools.TypePatternMatcher; 21 22 import org.springframework.aop.ClassFilter; 23 import org.springframework.util.Assert; 24 25 31 public class TypePatternClassFilter implements ClassFilter { 32 33 private String typePattern; 34 35 private TypePatternMatcher aspectJTypePatternMatcher; 36 37 38 45 public TypePatternClassFilter() { 46 } 47 48 55 public TypePatternClassFilter(String typePattern) { 56 setTypePattern(typePattern); 57 } 58 59 60 77 public void setTypePattern(String typePattern) { 78 Assert.notNull(typePattern); 79 this.typePattern = typePattern; 80 this.aspectJTypePatternMatcher = 81 PointcutParser.getPointcutParserSupportingAllPrimitivesAndUsingContextClassloaderForResolution(). 82 parseTypePattern(typePattern); 83 } 84 85 public String getTypePattern() { 86 return typePattern; 87 } 88 89 95 public boolean matches(Class clazz) { 96 if (this.aspectJTypePatternMatcher == null) { 97 throw new IllegalStateException ("No 'typePattern' has been set via ctor/setter."); 98 } 99 return this.aspectJTypePatternMatcher.matches(clazz); 100 } 101 102 } 103 | Popular Tags |