KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > derby > iapi > sql > compile > Parser


1 /*
2
3    Derby - Class org.apache.derby.iapi.sql.compile.Parser
4
5    Licensed to the Apache Software Foundation (ASF) under one or more
6    contributor license agreements. See the NOTICE file distributed with
7    this work for additional information regarding copyright ownership.
8    The ASF licenses this file to you under the Apache License, Version 2.0
9    (the "License"); you may not use this file except in compliance with
10    the License. You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14    Unless required by applicable law or agreed to in writing, software
15    distributed under the License is distributed on an "AS IS" BASIS,
16    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17    See the License for the specific language governing permissions and
18    limitations under the License.
19
20  */

21
22 package org.apache.derby.iapi.sql.compile;
23
24 import org.apache.derby.iapi.error.StandardException;
25
26 /* Strictly speaking we shouldn't import classes under the impl hierarchy here
27  * but this is work in progress.
28  * manish - Wed Mar 28 13:05:19 PST 2001
29  */

30 import org.apache.derby.impl.sql.compile.QueryTreeNode;
31
32 /**
33  * The Parser interface is intended to work with Jack-generated parsers (now JavaCC).
34  * We will specify "STATIC=false" when building Jack parsers - this specifies
35  * that the generated classes will not be static, which will allow there to be
36  * more than one parser (this is necessary in a multi-threaded server).
37  * Non-static parsers do not have to be re-initialized every time they are
38  * used (unlike static parsers, for which one must call ReInit() between calls
39  * to the parser).
40  *
41  * @author Jeff Lichtman
42  */

43
44
45 public interface Parser
46 {
47
48     /**
49      * Parses the given statement and returns a query tree. The query tree
50      * at this point is a simple syntactic translation of the statement.
51      * No binding will have taken place, and no decisions will have been
52      * made regarding processing strategy.
53      *
54      * @param statementSQLText The Statement to parse.
55      * @param paramDefaults Parameter defaults
56      * @return A new QueryTree representing the syntax of the Statement
57      *
58      * @exception StandardException Thrown on failure
59      */

60     public QueryTreeNode parseStatement(String JavaDoc statementSQLText,
61         Object JavaDoc[] paramDefaults)
62         throws StandardException;
63
64
65     public QueryTreeNode parseStatement(String JavaDoc statementSQLText)
66         throws StandardException;
67
68     /**
69      * Returns the current SQL text string that is being parsed.
70      *
71      * @return Current SQL text string.
72      *
73      */

74     public String JavaDoc getSQLtext();
75
76 }
77
Popular Tags