KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > aspectwerkz > expression > ast > ASTParameter


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

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