/* Generated By:JJTree: Do not edit this line. ASTClassPattern.java */
package org.codehaus.aspectwerkz.expression.ast;
import org.codehaus.aspectwerkz.expression.SubtypePatternType;
import org.codehaus.aspectwerkz.expression.regexp.Pattern;
import org.codehaus.aspectwerkz.expression.regexp.TypePattern;
public class ASTClassPattern extends SimpleNode {
private TypePattern m_typePattern;
public ASTClassPattern(int id) {
super(id);
}
public ASTClassPattern(ExpressionParser p, int id) {
super(p, id);
}
public Object jjtAccept(ExpressionParserVisitor visitor, Object data) {
return visitor.visit(this, data);
}
public void setTypePattern(String pattern) {
if (pattern.endsWith("+")) {
pattern = pattern.substring(0, pattern.length() - 1);
m_typePattern = Pattern.compileTypePattern(pattern, SubtypePatternType.MATCH_ON_ALL_METHODS);
} else if (pattern.endsWith("#")) {
pattern = pattern.substring(0, pattern.length() - 1);
m_typePattern = Pattern.compileTypePattern(pattern, SubtypePatternType.MATCH_ON_BASE_TYPE_METHODS_ONLY);
} else {
m_typePattern = Pattern.compileTypePattern(pattern, SubtypePatternType.NOT_HIERARCHICAL);
}
}
public TypePattern getTypePattern() {
return m_typePattern;
}
}