KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas_ejb > lib > EjbqlAbstractVisitor


1 /**
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999-2004 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * --------------------------------------------------------------------------
22  * $Id: EjbqlAbstractVisitor.java,v 1.16 2004/12/03 07:48:57 joaninh Exp $
23  * --------------------------------------------------------------------------
24  */

25 package org.objectweb.jonas_ejb.lib;
26
27 import org.objectweb.jonas_ejb.deployment.ejbql.ASTAbstractSchemaName;
28 import org.objectweb.jonas_ejb.deployment.ejbql.ASTAggregateSelectExpression;
29 import org.objectweb.jonas_ejb.deployment.ejbql.ASTArithmeticExpression;
30 import org.objectweb.jonas_ejb.deployment.ejbql.ASTArithmeticFactor;
31 import org.objectweb.jonas_ejb.deployment.ejbql.ASTArithmeticLiteral;
32 import org.objectweb.jonas_ejb.deployment.ejbql.ASTArithmeticTerm;
33 import org.objectweb.jonas_ejb.deployment.ejbql.ASTBetweenExpression;
34 import org.objectweb.jonas_ejb.deployment.ejbql.ASTBooleanExpression;
35 import org.objectweb.jonas_ejb.deployment.ejbql.ASTBooleanLiteral;
36 import org.objectweb.jonas_ejb.deployment.ejbql.ASTCmpPathExpression;
37 import org.objectweb.jonas_ejb.deployment.ejbql.ASTCollectionMemberDeclaration;
38 import org.objectweb.jonas_ejb.deployment.ejbql.ASTCollectionMemberExpression;
39 import org.objectweb.jonas_ejb.deployment.ejbql.ASTCollectionValuedPathExpression;
40 import org.objectweb.jonas_ejb.deployment.ejbql.ASTComparisonExpression;
41 import org.objectweb.jonas_ejb.deployment.ejbql.ASTConditionalExpression;
42 import org.objectweb.jonas_ejb.deployment.ejbql.ASTConditionalFactor;
43 import org.objectweb.jonas_ejb.deployment.ejbql.ASTConditionalTerm;
44 import org.objectweb.jonas_ejb.deployment.ejbql.ASTDatetimeExpression;
45 import org.objectweb.jonas_ejb.deployment.ejbql.ASTEJBQL;
46 import org.objectweb.jonas_ejb.deployment.ejbql.ASTEmptyCollectionComparisonExpression;
47 import org.objectweb.jonas_ejb.deployment.ejbql.ASTEntityBeanExpression;
48 import org.objectweb.jonas_ejb.deployment.ejbql.ASTFloatingPointLiteral;
49 import org.objectweb.jonas_ejb.deployment.ejbql.ASTFromClause;
50 import org.objectweb.jonas_ejb.deployment.ejbql.ASTFunctionsReturningNumerics;
51 import org.objectweb.jonas_ejb.deployment.ejbql.ASTFunctionsReturningStrings;
52 import org.objectweb.jonas_ejb.deployment.ejbql.ASTIdentificationVariable;
53 import org.objectweb.jonas_ejb.deployment.ejbql.ASTIdentifier;
54 import org.objectweb.jonas_ejb.deployment.ejbql.ASTInExpression;
55 import org.objectweb.jonas_ejb.deployment.ejbql.ASTInputParameter;
56 import org.objectweb.jonas_ejb.deployment.ejbql.ASTIntegerLiteral;
57 import org.objectweb.jonas_ejb.deployment.ejbql.ASTLikeExpression;
58 import org.objectweb.jonas_ejb.deployment.ejbql.ASTLimitClause;
59 import org.objectweb.jonas_ejb.deployment.ejbql.ASTLimitExpression;
60 import org.objectweb.jonas_ejb.deployment.ejbql.ASTLiteral;
61 import org.objectweb.jonas_ejb.deployment.ejbql.ASTNullComparisonExpression;
62 import org.objectweb.jonas_ejb.deployment.ejbql.ASTOrderByClause;
63 import org.objectweb.jonas_ejb.deployment.ejbql.ASTOrderByItem;
64 import org.objectweb.jonas_ejb.deployment.ejbql.ASTPath;
65 import org.objectweb.jonas_ejb.deployment.ejbql.ASTRangeVariableDeclaration;
66 import org.objectweb.jonas_ejb.deployment.ejbql.ASTSelectClause;
67 import org.objectweb.jonas_ejb.deployment.ejbql.ASTSelectExpression;
68 import org.objectweb.jonas_ejb.deployment.ejbql.ASTSingleValuedCmrPathExpression;
69 import org.objectweb.jonas_ejb.deployment.ejbql.ASTSingleValuedPathExpression;
70 import org.objectweb.jonas_ejb.deployment.ejbql.ASTStringExpression;
71 import org.objectweb.jonas_ejb.deployment.ejbql.ASTStringLiteral;
72 import org.objectweb.jonas_ejb.deployment.ejbql.ASTWhereClause;
73 import org.objectweb.jonas_ejb.deployment.ejbql.EJBQLVisitor;
74 import org.objectweb.jonas_ejb.deployment.ejbql.SimpleNode;
75 import org.objectweb.medor.query.api.QueryTree;
76 import org.objectweb.medor.query.jorm.lib.NavigatorNodeFactory;
77
78 import java.util.ArrayList JavaDoc;
79 import java.util.Iterator JavaDoc;
80 import java.util.Stack JavaDoc;
81 import java.util.StringTokenizer JavaDoc;
82
83 /**
84  * Base class with visitor utility class and default implementation of
85  * visit methods
86  * Created on Sep 12, 2002
87  * @author Christophe Ney [cney@batisseurs.com]: Initial developer
88  * @author Helene Joanin: Add the toString() method to IdValue.
89  * @author Helene Joanin: Add some utility methods as endsWith(), basePath().
90  * @author Helene Joanin: Take into account the ORDER BY clause.
91  * @author Helene Joanin: Take into account the EJBQL version 2.1 syntax.
92  */

93 public class EjbqlAbstractVisitor implements EJBQLVisitor {
94
95     /**
96      * Values associated with each declared identifiers
97      */

98     protected class IdValue {
99         /**
100          * Paths used in the select and where clause starting with the corresponding id
101          */

102         private ArrayList JavaDoc paths = null;
103
104         /**
105          * abstract schema name or collection values path
106          */

107         private String JavaDoc[] name = null;
108
109         /**
110          * The query tree that corresponds to the id and the paths
111          */

112         private QueryTree qt = null;
113
114         /**
115          * Create an IdVAlue for the given path
116          * @param pathName an abstract schema name or collection values path
117          */

118         public IdValue(String JavaDoc pathName) {
119             this();
120             name = splitPath(pathName);
121         }
122
123         /**
124          * Default constructor
125          */

126         public IdValue() {
127             paths = new ArrayList JavaDoc();
128         }
129
130         /**
131          * @return the name
132          */

133         public String JavaDoc [] getName() {
134             return name;
135         }
136
137         /**
138          * @param name the abstract schema name or collection values path
139          */

140         public void setName(String JavaDoc [] name) {
141             this.name = name;
142         }
143
144         /**
145          * add a path (if it's not already declared)
146          * @param path the path to add
147          */

148         public void addPath(String JavaDoc path) {
149             if (!paths.contains(path)) {
150                 paths.add(path);
151             }
152         }
153
154         /**
155          * @param idx index of the path
156          * @return return the splited path of the specified position
157          */

158         public String JavaDoc[] getSplitedPath(int idx) {
159             return splitPath((String JavaDoc) paths.get(idx));
160         }
161
162         /**
163          * @param idx index of the path
164          * @return return the merged path of the specified position
165          */

166         public String JavaDoc getMergedPath(int idx) {
167             return (String JavaDoc) paths.get(idx);
168         }
169
170         /**
171          * @return the number of declared path
172          */

173         public int getDeclaredPathLength() {
174             return paths.size();
175         }
176
177         /**
178          * @return the associated QueryTree
179          */

180         public QueryTree getQueryTree() {
181             return qt;
182         }
183
184         /**
185          * @param qt QueryTree
186          */

187         public void setQueryTree(QueryTree qt) {
188             this.qt = qt;
189         }
190
191         /**
192          * @return a string representation for debug
193          */

194         public String JavaDoc toString() {
195             StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
196             sb = sb.append("(paths=[");
197             Iterator JavaDoc ip = paths.iterator();
198             while (ip.hasNext()) {
199                 sb = sb.append((String JavaDoc) ip.next() + ",");
200             }
201             if (name == null) {
202                 sb = sb.append("],name=null");
203             } else {
204                 sb = sb.append("],name=");
205                 for (int i = 0; i < name.length; i++) {
206                     sb = sb.append(name[i] + ".");
207                 }
208             }
209             if (qt == null) {
210                 sb = sb.append(",qt=null)");
211             } else {
212                 sb = sb.append(",qt!=null)");
213             }
214             return sb.toString();
215         }
216     }
217
218     /**
219      * Runtime Exception used to wrap exceptions thrown in visit methods
220      */

221     protected class VisitorException extends RuntimeException JavaDoc {
222
223         Exception JavaDoc nestedException;
224
225         VisitorException(Exception JavaDoc nestedException) {
226             this.nestedException = nestedException;
227         }
228
229         Exception JavaDoc getNestedException() {
230             return nestedException;
231         }
232     }
233
234     /**
235      * split a dot separated path into tokens
236      * @param path the input path
237      * @return the splitted path
238      */

239     protected String JavaDoc[] splitPath(String JavaDoc path) {
240         StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(path, ".");
241         String JavaDoc[] ret = new String JavaDoc[st.countTokens()];
242         for (int i = 0; i < ret.length; i++) {
243             ret[i] = st.nextToken();
244         }
245         return ret;
246     }
247
248     /**
249      * @param path the input path
250      * @param begin the beginning index
251      * @param length the length
252      * @return the merge of the tokens (from the begin index to the (begin+length) index into a dot separated path
253      */

254     protected String JavaDoc mergePath(String JavaDoc[] path, int begin, int length) {
255         if (length == 0) {
256             return "";
257         }
258         StringBuffer JavaDoc ret = new StringBuffer JavaDoc();
259         for (int i = begin; i < (begin + length); i++) {
260             ret.append(path[i]);
261             ret.append('.');
262         }
263         ret.deleteCharAt(ret.length() - 1);
264         return ret.toString();
265     }
266
267     /**
268      * @param path the input path
269      * @return the merge tokens into a dot separated path
270      */

271     protected String JavaDoc mergePath(String JavaDoc[] path) {
272         return (mergePath(path, 0, path.length));
273     }
274
275     /**
276      * @param path the input path
277      * @param suffix the input suffix
278      * @return true if the last token of the path is equal to the suffix.
279      */

280     protected boolean endsWith(String JavaDoc[] path, String JavaDoc suffix) {
281         return (suffix.equals(path[path.length - 1]));
282     }
283
284     /**
285      * merge the first tokens into a dot separated path.
286      * (The last token is left)
287      * @param path the input path
288      * @return the base path
289      */

290     protected String JavaDoc[] basePath(String JavaDoc[] path) {
291         String JavaDoc[] base = new String JavaDoc[path.length - 1];
292         for (int i = 0; i < path.length - 1; i++) {
293             base[i] = new String JavaDoc(path[i]);
294         }
295         return base;
296     }
297
298     /**
299      * Visit method to call from constructor.
300      * Child node visitors get a <code>java.util.Stack</code> as data parameter.
301      * @param node the node to visit
302      * @return the stack
303      * @throws Exception any nested exception thrown from other visit method
304      */

305     public Object JavaDoc visit(SimpleNode node) throws Exception JavaDoc {
306         try {
307             return visit((SimpleNode) node, new Stack JavaDoc());
308         } catch (VisitorException e) {
309             throw e.getNestedException();
310         }
311     }
312
313     /**
314      * Generic visit method that traverses all child nodes
315      * @param node the node to visit
316      * @param data the current stack
317      * @return the stack
318      */

319     public Object JavaDoc visit(SimpleNode node, Object JavaDoc data) {
320         return node.childrenAccept(this, data);
321     }
322
323     /**
324      * null implementation of the visit method for the corresponding parameter type
325      * @param node the node to visit
326      * @param data the current stack
327      * @return null
328      */

329     public Object JavaDoc visit(ASTEJBQL node, Object JavaDoc data) {
330         return null;
331     }
332
333     /**
334      * null implementation of the visit method for the corresponding parameter type
335      * @param node the node to visit
336      * @param data the current stack
337      * @return null
338      */

339     public Object JavaDoc visit(ASTFromClause node, Object JavaDoc data) {
340         return null;
341     }
342
343     /**
344      * null implementation of the visit method for the corresponding parameter type
345      * @param node the node to visit
346      * @param data the current stack
347      * @return null
348      */

349     public Object JavaDoc visit(ASTCollectionMemberDeclaration node, Object JavaDoc data) {
350         return null;
351     }
352
353     /**
354      * null implementation of the visit method for the corresponding parameter type
355      * @param node the node to visit
356      * @param data the current stack
357      * @return null
358      */

359     public Object JavaDoc visit(ASTRangeVariableDeclaration node, Object JavaDoc data) {
360         return null;
361     }
362
363     /**
364      * null implementation of the visit method for the corresponding parameter type
365      * @param node the node to visit
366      * @param data the current stack
367      * @return null
368      */

369     public Object JavaDoc visit(ASTSingleValuedPathExpression node, Object JavaDoc data) {
370         return null;
371     }
372
373     /**
374      * null implementation of the visit method for the corresponding parameter type
375      * @param node the node to visit
376      * @param data the current stack
377      * @return null
378      */

379     public Object JavaDoc visit(ASTCmpPathExpression node, Object JavaDoc data) {
380         return null;
381     }
382
383     /**
384      * null implementation of the visit method for the corresponding parameter type
385      * @param node the node to visit
386      * @param data the current stack
387      * @return null
388      */

389     public Object JavaDoc visit(ASTSingleValuedCmrPathExpression node, Object JavaDoc data) {
390         return null;
391     }
392
393     /**
394      * null implementation of the visit method for the corresponding parameter type
395      * @param node the node to visit
396      * @param data the current stack
397      * @return null
398      */

399     public Object JavaDoc visit(ASTCollectionValuedPathExpression node, Object JavaDoc data) {
400         return null;
401     }
402
403     /**
404      * null implementation of the visit method for the corresponding parameter type
405      * @param node the node to visit
406      * @param data the current stack
407      * @return null
408      */

409     public Object JavaDoc visit(ASTSelectClause node, Object JavaDoc data) {
410         return null;
411     }
412
413     /**
414      * null implementation of the visit method for the corresponding parameter type
415      * @param node the node to visit
416      * @param data the current stack
417      * @return null
418      */

419     public Object JavaDoc visit(ASTSelectExpression node, Object JavaDoc data) {
420         return null;
421     }
422
423     /**
424      * null implementation of the visit method for the corresponding parameter type
425      * @param node the node to visit
426      * @param data the current stack
427      * @return null
428      */

429     public Object JavaDoc visit(ASTAggregateSelectExpression node, Object JavaDoc data) {
430         return null;
431     }
432
433     /**
434      * null implementation of the visit method for the corresponding parameter type
435      * @param node the node to visit
436      * @param data the current stack
437      * @return null
438      */

439     public Object JavaDoc visit(ASTOrderByClause node, Object JavaDoc data) {
440         return null;
441     }
442
443     /**
444      * null implementation of the visit method for the corresponding parameter type
445      * @param node the node to visit
446      * @param data the current stack
447      * @return null
448      */

449     public Object JavaDoc visit(ASTOrderByItem node, Object JavaDoc data) {
450         return null;
451     }
452
453     /**
454      * null implementation of the visit method for the corresponding parameter type
455      * @param node the node to visit
456      * @param data the current stack
457      * @return null
458      */

459     public Object JavaDoc visit(ASTLimitClause node, Object JavaDoc data) {
460         return null;
461     }
462
463     /**
464      * null implementation of the visit method for the corresponding parameter type
465      * @param node the node to visit
466      * @param data the current stack
467      * @return null
468      */

469     public Object JavaDoc visit(ASTLimitExpression node, Object JavaDoc data) {
470         return null;
471     }
472
473     /**
474      * null implementation of the visit method for the corresponding parameter type
475      * @param node the node to visit
476      * @param data the current stack
477      * @return null
478      */

479     public Object JavaDoc visit(ASTWhereClause node, Object JavaDoc data) {
480         return null;
481     }
482
483     /**
484      * null implementation of the visit method for the corresponding parameter type
485      * @param node the node to visit
486      * @param data the current stack
487      * @return null
488      */

489     public Object JavaDoc visit(ASTConditionalExpression node, Object JavaDoc data) {
490         return null;
491     }
492
493     /**
494      * null implementation of the visit method for the corresponding parameter type
495      * @param node the node to visit
496      * @param data the current stack
497      * @return null
498      */

499     public Object JavaDoc visit(ASTConditionalTerm node, Object JavaDoc data) {
500         return null;
501     }
502
503     /**
504      * null implementation of the visit method for the corresponding parameter type
505      * @param node the node to visit
506      * @param data the current stack
507      * @return null
508      */

509     public Object JavaDoc visit(ASTConditionalFactor node, Object JavaDoc data) {
510         return null;
511     }
512
513     /**
514      * null implementation of the visit method for the corresponding parameter type
515      * @param node the node to visit
516      * @param data the current stack
517      * @return null
518      */

519     public Object JavaDoc visit(ASTBetweenExpression node, Object JavaDoc data) {
520         return null;
521     }
522
523     /**
524      * null implementation of the visit method for the corresponding parameter type
525      * @param node the node to visit
526      * @param data the current stack
527      * @return null
528      */

529     public Object JavaDoc visit(ASTInExpression node, Object JavaDoc data) {
530         return null;
531     }
532
533     /**
534      * null implementation of the visit method for the corresponding parameter type
535      * @param node the node to visit
536      * @param data the current stack
537      * @return null
538      */

539     public Object JavaDoc visit(ASTLikeExpression node, Object JavaDoc data) {
540         return null;
541     }
542
543     /**
544      * null implementation of the visit method for the corresponding parameter type
545      * @param node the node to visit
546      * @param data the current stack
547      * @return null
548      */

549     public Object JavaDoc visit(ASTNullComparisonExpression node, Object JavaDoc data) {
550         return null;
551     }
552
553     /**
554      * null implementation of the visit method for the corresponding parameter type
555      * @param node the node to visit
556      * @param data the current stack
557      * @return null
558      */

559     public Object JavaDoc visit(ASTEmptyCollectionComparisonExpression node, Object JavaDoc data) {
560         return null;
561     }
562
563     /**
564      * null implementation of the visit method for the corresponding parameter type
565      * @param node the node to visit
566      * @param data the current stack
567      * @return null
568      */

569     public Object JavaDoc visit(ASTCollectionMemberExpression node, Object JavaDoc data) {
570         return null;
571     }
572
573     /**
574      * null implementation of the visit method for the corresponding parameter type
575      * @param node the node to visit
576      * @param data the current stack
577      * @return null
578      */

579     public Object JavaDoc visit(ASTComparisonExpression node, Object JavaDoc data) {
580         return null;
581     }
582
583     /**
584      * null implementation of the visit method for the corresponding parameter type
585      * @param node the node to visit
586      * @param data the current stack
587      * @return null
588      */

589     public Object JavaDoc visit(ASTArithmeticExpression node, Object JavaDoc data) {
590         return null;
591     }
592
593     /**
594      * null implementation of the visit method for the corresponding parameter type
595      * @param node the node to visit
596      * @param data the current stack
597      * @return null
598      */

599     public Object JavaDoc visit(ASTIntegerLiteral node, Object JavaDoc data) {
600         return null;
601     }
602
603     /**
604      * null implementation of the visit method for the corresponding parameter type
605      * @param node the node to visit
606      * @param data the current stack
607      * @return null
608      */

609     public Object JavaDoc visit(ASTFloatingPointLiteral node, Object JavaDoc data) {
610         return null;
611     }
612
613     /**
614      * null implementation of the visit method for the corresponding parameter type
615      * @param node the node to visit
616      * @param data the current stack
617      * @return null
618      */

619     public Object JavaDoc visit(ASTArithmeticTerm node, Object JavaDoc data) {
620         return null;
621     }
622
623     /**
624      * null implementation of the visit method for the corresponding parameter type
625      * @param node the node to visit
626      * @param data the current stack
627      * @return null
628      */

629     public Object JavaDoc visit(ASTArithmeticFactor node, Object JavaDoc data) {
630         return null;
631     }
632
633     /**
634      * null implementation of the visit method for the corresponding parameter type
635      * @param node the node to visit
636      * @param data the current stack
637      * @return null
638      */

639     public Object JavaDoc visit(ASTStringExpression node, Object JavaDoc data) {
640         return null;
641     }
642
643     /**
644      * null implementation of the visit method for the corresponding parameter type
645      * @param node the node to visit
646      * @param data the current stack
647      * @return null
648      */

649     public Object JavaDoc visit(ASTDatetimeExpression node, Object JavaDoc data) {
650         return null;
651     }
652
653     /**
654      * null implementation of the visit method for the corresponding parameter type
655      * @param node the node to visit
656      * @param data the current stack
657      * @return null
658      */

659     public Object JavaDoc visit(ASTBooleanExpression node, Object JavaDoc data) {
660         return null;
661     }
662
663     /**
664      * null implementation of the visit method for the corresponding parameter type
665      * @param node the node to visit
666      * @param data the current stack
667      * @return null
668      */

669     public Object JavaDoc visit(ASTEntityBeanExpression node, Object JavaDoc data) {
670         return null;
671     }
672
673     /**
674      * null implementation of the visit method for the corresponding parameter type
675      * @param node the node to visit
676      * @param data the current stack
677      * @return null
678      */

679     public Object JavaDoc visit(ASTFunctionsReturningStrings node, Object JavaDoc data) {
680         return null;
681     }
682
683     /**
684      * null implementation of the visit method for the corresponding parameter type
685      * @param node the node to visit
686      * @param data the current stack
687      * @return null
688      */

689     public Object JavaDoc visit(ASTFunctionsReturningNumerics node, Object JavaDoc data) {
690         return null;
691     }
692
693     /**
694      * null implementation of the visit method for the corresponding parameter type
695      * @param node the node to visit
696      * @param data the current stack
697      * @return null
698      */

699     public Object JavaDoc visit(ASTAbstractSchemaName node, Object JavaDoc data) {
700         return null;
701     }
702
703     /**
704      * null implementation of the visit method for the corresponding parameter type
705      * @param node the node to visit
706      * @param data the current stack
707      * @return null
708      */

709     public Object JavaDoc visit(ASTIdentificationVariable node, Object JavaDoc data) {
710         return null;
711     }
712
713     /**
714      * null implementation of the visit method for the corresponding parameter type
715      * @param node the node to visit
716      * @param data the current stack
717      * @return null
718      */

719     public Object JavaDoc visit(ASTIdentifier node, Object JavaDoc data) {
720         return null;
721     }
722
723     /**
724      * null implementation of the visit method for the corresponding parameter type
725      * @param node the node to visit
726      * @param data the current stack
727      * @return null
728      */

729     public Object JavaDoc visit(ASTPath node, Object JavaDoc data) {
730         return null;
731     }
732
733     /**
734      * null implementation of the visit method for the corresponding parameter type
735      * @param node the node to visit
736      * @param data the current stack
737      * @return null
738      */

739
740     public Object JavaDoc visit(ASTLiteral node, Object JavaDoc data) {
741         return null;
742     }
743
744     /**
745      * null implementation of the visit method for the corresponding parameter type
746      * @param node the node to visit
747      * @param data the current stack
748      * @return null
749      */

750     public Object JavaDoc visit(ASTStringLiteral node, Object JavaDoc data) {
751         return null;
752     }
753
754     /**
755      * null implementation of the visit method for the corresponding parameter type
756      * @param node the node to visit
757      * @param data the current stack
758      * @return null
759      */

760     public Object JavaDoc visit(ASTArithmeticLiteral node, Object JavaDoc data) {
761         return null;
762     }
763
764     /**
765      * null implementation of the visit method for the corresponding parameter type
766      * @param node the node to visit
767      * @param data the current stack
768      * @return null
769      */

770     public Object JavaDoc visit(ASTBooleanLiteral node, Object JavaDoc data) {
771         return null;
772     }
773
774     /**
775      * null implementation of the visit method for the corresponding parameter type
776      * @param node the node to visit
777      * @param data the current stack
778      * @return null
779      */

780     public Object JavaDoc visit(ASTInputParameter node, Object JavaDoc data) {
781         return null;
782     }
783 }
784
Popular Tags