1 2 package org.codehaus.aspectwerkz.expression.ast; 3 4 import org.codehaus.aspectwerkz.expression.SubtypePatternType; 5 import org.codehaus.aspectwerkz.expression.regexp.Pattern; 6 import org.codehaus.aspectwerkz.expression.regexp.TypePattern; 7 8 public class ASTClassPattern extends SimpleNode { 9 private TypePattern m_typePattern; 10 11 public ASTClassPattern(int id) { 12 super(id); 13 } 14 15 public ASTClassPattern(ExpressionParser p, int id) { 16 super(p, id); 17 } 18 19 public Object jjtAccept(ExpressionParserVisitor visitor, Object data) { 20 return visitor.visit(this, data); 21 } 22 23 public void setTypePattern(String pattern) { 24 if (pattern.endsWith("+")) { 25 pattern = pattern.substring(0, pattern.length() - 1); 26 m_typePattern = Pattern.compileTypePattern(pattern, SubtypePatternType.MATCH_ON_ALL_METHODS); 27 } else if (pattern.endsWith("#")) { 28 pattern = pattern.substring(0, pattern.length() - 1); 29 m_typePattern = Pattern.compileTypePattern(pattern, SubtypePatternType.MATCH_ON_BASE_TYPE_METHODS_ONLY); 30 } else { 31 m_typePattern = Pattern.compileTypePattern(pattern, SubtypePatternType.NOT_HIERARCHICAL); 32 } 33 } 34 35 public TypePattern getTypePattern() { 36 return m_typePattern; 37 } 38 } | Popular Tags |