1 package org.apache.velocity.runtime.visitor;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.Writer;
23
24 import org.apache.velocity.context.InternalContextAdapter;
25 import org.apache.velocity.runtime.parser.ParserVisitor;
26 import org.apache.velocity.runtime.parser.node.ASTAddNode;
27 import org.apache.velocity.runtime.parser.node.ASTAndNode;
28 import org.apache.velocity.runtime.parser.node.ASTAssignment;
29 import org.apache.velocity.runtime.parser.node.ASTBlock;
30 import org.apache.velocity.runtime.parser.node.ASTComment;
31 import org.apache.velocity.runtime.parser.node.ASTDirective;
32 import org.apache.velocity.runtime.parser.node.ASTDivNode;
33 import org.apache.velocity.runtime.parser.node.ASTEQNode;
34 import org.apache.velocity.runtime.parser.node.ASTElseIfStatement;
35 import org.apache.velocity.runtime.parser.node.ASTElseStatement;
36 import org.apache.velocity.runtime.parser.node.ASTEscape;
37 import org.apache.velocity.runtime.parser.node.ASTEscapedDirective;
38 import org.apache.velocity.runtime.parser.node.ASTExpression;
39 import org.apache.velocity.runtime.parser.node.ASTFalse;
40 import org.apache.velocity.runtime.parser.node.ASTFloatingPointLiteral;
41 import org.apache.velocity.runtime.parser.node.ASTGENode;
42 import org.apache.velocity.runtime.parser.node.ASTGTNode;
43 import org.apache.velocity.runtime.parser.node.ASTIdentifier;
44 import org.apache.velocity.runtime.parser.node.ASTIfStatement;
45 import org.apache.velocity.runtime.parser.node.ASTIntegerLiteral;
46 import org.apache.velocity.runtime.parser.node.ASTIntegerRange;
47 import org.apache.velocity.runtime.parser.node.ASTLENode;
48 import org.apache.velocity.runtime.parser.node.ASTLTNode;
49 import org.apache.velocity.runtime.parser.node.ASTMap;
50 import org.apache.velocity.runtime.parser.node.ASTMethod;
51 import org.apache.velocity.runtime.parser.node.ASTModNode;
52 import org.apache.velocity.runtime.parser.node.ASTMulNode;
53 import org.apache.velocity.runtime.parser.node.ASTNENode;
54 import org.apache.velocity.runtime.parser.node.ASTNotNode;
55 import org.apache.velocity.runtime.parser.node.ASTObjectArray;
56 import org.apache.velocity.runtime.parser.node.ASTOrNode;
57 import org.apache.velocity.runtime.parser.node.ASTReference;
58 import org.apache.velocity.runtime.parser.node.ASTSetDirective;
59 import org.apache.velocity.runtime.parser.node.ASTStop;
60 import org.apache.velocity.runtime.parser.node.ASTStringLiteral;
61 import org.apache.velocity.runtime.parser.node.ASTSubtractNode;
62 import org.apache.velocity.runtime.parser.node.ASTText;
63 import org.apache.velocity.runtime.parser.node.ASTTrue;
64 import org.apache.velocity.runtime.parser.node.ASTWord;
65 import org.apache.velocity.runtime.parser.node.ASTprocess;
66 import org.apache.velocity.runtime.parser.node.SimpleNode;
67
68
69
70
71
72
73
74
75
76
77 public abstract class BaseVisitor implements ParserVisitor
78 {
79
80 protected InternalContextAdapter context;
81
82
83 protected Writer writer;
84
85
86
87
88 public void setWriter( Writer writer )
89 {
90 this.writer = writer;
91 }
92
93
94
95
96 public void setContext( InternalContextAdapter context)
97 {
98 this.context = context;
99 }
100
101
102
103
104 public Object visit(SimpleNode node, Object data)
105 {
106 data = node.childrenAccept(this, data);
107 return data;
108 }
109
110
111
112
113 public Object visit(ASTprocess node, Object data)
114 {
115 data = node.childrenAccept(this, data);
116 return data;
117 }
118
119
120
121
122 public Object visit(ASTExpression node, Object data)
123 {
124 data = node.childrenAccept(this, data);
125 return data;
126 }
127
128
129
130
131 public Object visit(ASTAssignment node, Object data)
132 {
133 data = node.childrenAccept(this, data);
134 return data;
135 }
136
137
138
139
140 public Object visit(ASTOrNode node, Object data)
141 {
142 data = node.childrenAccept(this, data);
143 return data;
144 }
145
146
147
148
149 public Object visit(ASTAndNode node, Object data)
150 {
151 data = node.childrenAccept(this, data);
152 return data;
153 }
154
155
156
157
158 public Object visit(ASTEQNode node, Object data)
159 {
160 data = node.childrenAccept(this, data);
161 return data;
162 }
163
164
165
166
167 public Object visit(ASTNENode node, Object data)
168 {
169 data = node.childrenAccept(this, data);
170 return data;
171 }
172
173
174
175
176 public Object visit(ASTLTNode node, Object data)
177 {
178 data = node.childrenAccept(this, data);
179 return data;
180 }
181
182
183
184
185 public Object visit(ASTGTNode node, Object data)
186 {
187 data = node.childrenAccept(this, data);
188 return data;
189 }
190
191
192
193
194 public Object visit(ASTLENode node, Object data)
195 {
196 data = node.childrenAccept(this, data);
197 return data;
198 }
199
200
201
202
203 public Object visit(ASTGENode node, Object data)
204 {
205 data = node.childrenAccept(this, data);
206 return data;
207 }
208
209
210
211
212 public Object visit(ASTAddNode node, Object data)
213 {
214 data = node.childrenAccept(this, data);
215 return data;
216 }
217
218
219
220
221 public Object visit(ASTSubtractNode node, Object data)
222 {
223 data = node.childrenAccept(this, data);
224 return data;
225 }
226
227
228
229
230 public Object visit(ASTMulNode node, Object data)
231 {
232 data = node.childrenAccept(this, data);
233 return data;
234 }
235
236
237
238
239 public Object visit(ASTDivNode node, Object data)
240 {
241 data = node.childrenAccept(this, data);
242 return data;
243 }
244
245
246
247
248 public Object visit(ASTModNode node, Object data)
249 {
250 data = node.childrenAccept(this, data);
251 return data;
252 }
253
254
255
256
257 public Object visit(ASTNotNode node, Object data)
258 {
259 data = node.childrenAccept(this, data);
260 return data;
261 }
262
263
264
265
266 public Object visit(ASTIntegerLiteral node, Object data)
267 {
268 data = node.childrenAccept(this, data);
269 return data;
270 }
271
272
273
274
275 public Object visit(ASTFloatingPointLiteral node, Object data)
276 {
277 data = node.childrenAccept(this, data);
278 return data;
279 }
280
281
282
283
284 public Object visit(ASTStringLiteral node, Object data)
285 {
286 data = node.childrenAccept(this, data);
287 return data;
288 }
289
290
291
292
293 public Object visit(ASTIdentifier node, Object data)
294 {
295 data = node.childrenAccept(this, data);
296 return data;
297 }
298
299
300
301
302 public Object visit(ASTMethod node, Object data)
303 {
304 data = node.childrenAccept(this, data);
305 return data;
306 }
307
308
309
310
311 public Object visit(ASTReference node, Object data)
312 {
313 data = node.childrenAccept(this, data);
314 return data;
315 }
316
317
318
319
320 public Object visit(ASTTrue node, Object data)
321 {
322 data = node.childrenAccept(this, data);
323 return data;
324 }
325
326
327
328
329 public Object visit(ASTFalse node, Object data)
330 {
331 data = node.childrenAccept(this, data);
332 return data;
333 }
334
335
336
337
338 public Object visit(ASTBlock node, Object data)
339 {
340 data = node.childrenAccept(this, data);
341 return data;
342 }
343
344
345
346
347 public Object visit(ASTText node, Object data)
348 {
349 data = node.childrenAccept(this, data);
350 return data;
351 }
352
353
354
355
356 public Object visit(ASTIfStatement node, Object data)
357 {
358 data = node.childrenAccept(this, data);
359 return data;
360 }
361
362
363
364
365 public Object visit(ASTElseStatement node, Object data)
366 {
367 data = node.childrenAccept(this, data);
368 return data;
369 }
370
371
372
373
374 public Object visit(ASTElseIfStatement node, Object data)
375 {
376 data = node.childrenAccept(this, data);
377 return data;
378 }
379
380
381
382
383 public Object visit(ASTComment node, Object data)
384 {
385 data = node.childrenAccept(this, data);
386 return data;
387 }
388
389
390
391
392 public Object visit(ASTObjectArray node, Object data)
393 {
394 data = node.childrenAccept(this, data);
395 return data;
396 }
397
398
399
400
401 public Object visit(ASTWord node, Object data)
402 {
403 data = node.childrenAccept(this, data);
404 return data;
405 }
406
407
408
409
410 public Object visit(ASTSetDirective node, Object data)
411 {
412 data = node.childrenAccept(this, data);
413 return data;
414 }
415
416
417
418
419 public Object visit(ASTDirective node, Object data)
420 {
421 data = node.childrenAccept(this, data);
422 return data;
423 }
424
425
426
427
428 public Object visit(ASTEscapedDirective node, Object data)
429 {
430 data = node.childrenAccept(this, data);
431 return data;
432 }
433
434
435
436
437 public Object visit(ASTEscape node, Object data)
438 {
439 data = node.childrenAccept(this, data);
440 return data;
441 }
442
443
444
445
446 public Object visit(ASTMap node, Object data)
447 {
448 data = node.childrenAccept(this, data);
449 return data;
450 }
451
452
453
454
455 public Object visit(ASTIntegerRange node, Object data)
456 {
457 data = node.childrenAccept(this, data);
458 return data;
459 }
460
461
462
463
464 public Object visit(ASTStop node, Object data)
465 {
466 data = node.childrenAccept(this, data);
467 return data;
468 }
469 }