1
2
3
4 package net.sourceforge.pmd.lang.jsp.rule;
5
6 import java.util.List;
7
8 import net.sourceforge.pmd.RuleContext;
9 import net.sourceforge.pmd.lang.Language;
10 import net.sourceforge.pmd.lang.ast.Node;
11 import net.sourceforge.pmd.lang.jsp.ast.ASTAttribute;
12 import net.sourceforge.pmd.lang.jsp.ast.ASTAttributeValue;
13 import net.sourceforge.pmd.lang.jsp.ast.ASTCData;
14 import net.sourceforge.pmd.lang.jsp.ast.ASTCommentTag;
15 import net.sourceforge.pmd.lang.jsp.ast.ASTCompilationUnit;
16 import net.sourceforge.pmd.lang.jsp.ast.ASTContent;
17 import net.sourceforge.pmd.lang.jsp.ast.ASTDeclaration;
18 import net.sourceforge.pmd.lang.jsp.ast.ASTDoctypeDeclaration;
19 import net.sourceforge.pmd.lang.jsp.ast.ASTDoctypeExternalId;
20 import net.sourceforge.pmd.lang.jsp.ast.ASTElExpression;
21 import net.sourceforge.pmd.lang.jsp.ast.ASTElement;
22 import net.sourceforge.pmd.lang.jsp.ast.ASTHtmlScript;
23 import net.sourceforge.pmd.lang.jsp.ast.ASTJspComment;
24 import net.sourceforge.pmd.lang.jsp.ast.ASTJspDeclaration;
25 import net.sourceforge.pmd.lang.jsp.ast.ASTJspDirective;
26 import net.sourceforge.pmd.lang.jsp.ast.ASTJspDirectiveAttribute;
27 import net.sourceforge.pmd.lang.jsp.ast.ASTJspExpression;
28 import net.sourceforge.pmd.lang.jsp.ast.ASTJspExpressionInAttribute;
29 import net.sourceforge.pmd.lang.jsp.ast.ASTJspScriptlet;
30 import net.sourceforge.pmd.lang.jsp.ast.ASTText;
31 import net.sourceforge.pmd.lang.jsp.ast.ASTUnparsedText;
32 import net.sourceforge.pmd.lang.jsp.ast.ASTValueBinding;
33 import net.sourceforge.pmd.lang.jsp.ast.JspNode;
34 import net.sourceforge.pmd.lang.jsp.ast.JspParserVisitor;
35 import net.sourceforge.pmd.lang.rule.AbstractRule;
36 import net.sourceforge.pmd.lang.rule.ImmutableLanguage;
37
38 public abstract class AbstractJspRule extends AbstractRule implements JspParserVisitor, ImmutableLanguage {
39
40 public AbstractJspRule() {
41 super.setLanguage(Language.JSP);
42 }
43
44 @Override
45 public void setUsesTypeResolution() {
46
47 }
48
49 public void apply(List<? extends Node> nodes, RuleContext ctx) {
50 visitAll(nodes, ctx);
51 }
52
53 protected void visitAll(List<? extends Node> nodes, RuleContext ctx) {
54 for (Object element : nodes) {
55 JspNode node = (JspNode) element;
56 visit(node, ctx);
57 }
58 }
59
60
61
62
63
64
65
66 public Object visit(JspNode node, Object data) {
67 node.childrenAccept(this, data);
68 return null;
69 }
70
71 public Object visit(ASTCompilationUnit node, Object data) {
72 return visit((JspNode) node, data);
73 }
74
75 public Object visit(ASTContent node, Object data) {
76 return visit((JspNode) node, data);
77 }
78
79 public Object visit(ASTJspDirective node, Object data) {
80 return visit((JspNode) node, data);
81 }
82
83 public Object visit(ASTJspDirectiveAttribute node, Object data) {
84 return visit((JspNode) node, data);
85 }
86
87 public Object visit(ASTJspScriptlet node, Object data) {
88 return visit((JspNode) node, data);
89 }
90
91 public Object visit(ASTJspExpression node, Object data) {
92 return visit((JspNode) node, data);
93 }
94
95 public Object visit(ASTJspDeclaration node, Object data) {
96 return visit((JspNode) node, data);
97 }
98
99 public Object visit(ASTJspComment node, Object data) {
100 return visit((JspNode) node, data);
101 }
102
103 public Object visit(ASTText node, Object data) {
104 return visit((JspNode) node, data);
105 }
106
107 public Object visit(ASTUnparsedText node, Object data) {
108 return visit((JspNode) node, data);
109 }
110
111 public Object visit(ASTElExpression node, Object data) {
112 return visit((JspNode) node, data);
113 }
114
115 public Object visit(ASTValueBinding node, Object data) {
116 return visit((JspNode) node, data);
117 }
118
119 public Object visit(ASTCData node, Object data) {
120 return visit((JspNode) node, data);
121 }
122
123 public Object visit(ASTElement node, Object data) {
124 return visit((JspNode) node, data);
125 }
126
127 public Object visit(ASTAttribute node, Object data) {
128 return visit((JspNode) node, data);
129 }
130
131 public Object visit(ASTAttributeValue node, Object data) {
132 return visit((JspNode) node, data);
133 }
134
135 public Object visit(ASTJspExpressionInAttribute node, Object data) {
136 return visit((JspNode) node, data);
137 }
138
139 public Object visit(ASTCommentTag node, Object data) {
140 return visit((JspNode) node, data);
141 }
142
143 public Object visit(ASTDeclaration node, Object data) {
144 return visit((JspNode) node, data);
145 }
146
147 public Object visit(ASTDoctypeDeclaration node, Object data) {
148 return visit((JspNode) node, data);
149 }
150
151 public Object visit(ASTDoctypeExternalId node, Object data) {
152 return visit((JspNode) node, data);
153 }
154
155 public Object visit(ASTHtmlScript node, Object data) {
156 return visit((JspNode) node, data);
157 }
158 }