|
|||||||||
| Home >> All >> org >> apache >> xalan >> lib >> [ sql overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.xalan.lib.sql
Class SQLQueryParser

java.lang.Objectorg.apache.xalan.lib.sql.SQLQueryParser
- public class SQLQueryParser
- extends java.lang.Object
| Field Summary | |
static int |
INLINE_PARSER
|
private boolean |
m_hasOutput
|
private boolean |
m_HasParameters
|
private boolean |
m_InlineVariables
If the parser used inline parser to pull out variables then this will be true. |
private boolean |
m_IsCallable
|
private java.lang.String |
m_OrigQuery
|
private java.util.Vector |
m_Parameters
|
private java.lang.StringBuffer |
m_ParsedQuery
|
static int |
NO_INLINE_PARSER
|
static int |
NO_OVERRIDE
|
| Constructor Summary | |
|
SQLQueryParser()
The SQLStatement Parser will be created as a psuedo SINGLETON per XConnection. |
private |
SQLQueryParser(java.lang.String query)
Constructor, used to create a new parser entry |
| Method Summary | |
java.util.Vector |
getParameters()
|
java.lang.String |
getSQLQuery()
Return a copy of the parsed SQL query that will be set to the Database system to execute. |
boolean |
hasParameters()
If a SQL Statement does not have any parameters, then it can be executed directly. |
private void |
init()
On a per Xconnection basis, we will create a SQLStatemenetParser, from this parser, individual parsers will be created. |
protected void |
inlineParser()
|
boolean |
isCallable()
If the Inline Parser is used, the parser will note if this stastement is a plain SQL Statement or a Called Procedure. |
private void |
parse(XConnection xconn,
int override)
Produce an SQL Statement Parser based on the incomming query. |
SQLQueryParser |
parse(XConnection xconn,
java.lang.String query,
int override)
Produce an SQL Statement Parser based on the incomming query. |
void |
populateStatement(java.sql.PreparedStatement stmt,
org.apache.xalan.extensions.ExpressionContext ctx)
The SQL Statement Parser, when an Inline Parser is used, tracks the XSL variables used to populate a statement. |
void |
registerOutputParameters(java.sql.CallableStatement cstmt)
|
void |
setParameters(java.util.Vector p)
The XConnection will use this method to store the Parameters that were supplied by the style sheet in the case where the inline parser was not used |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
m_InlineVariables
private boolean m_InlineVariables
- If the parser used inline parser to pull out variables then
this will be true. The default is not to use the Inline Parser.
m_IsCallable
private boolean m_IsCallable
m_OrigQuery
private java.lang.String m_OrigQuery
m_ParsedQuery
private java.lang.StringBuffer m_ParsedQuery
m_Parameters
private java.util.Vector m_Parameters
m_hasOutput
private boolean m_hasOutput
m_HasParameters
private boolean m_HasParameters
NO_OVERRIDE
public static final int NO_OVERRIDE
- See Also:
- Constant Field Values
NO_INLINE_PARSER
public static final int NO_INLINE_PARSER
- See Also:
- Constant Field Values
INLINE_PARSER
public static final int INLINE_PARSER
- See Also:
- Constant Field Values
| Constructor Detail |
SQLQueryParser
public SQLQueryParser()
- The SQLStatement Parser will be created as a psuedo SINGLETON per
XConnection. Since we are only caching the Query and its parsed results
we may be able to use this as a real SINGLETON. It all depends on how
Statement Caching will play out.
SQLQueryParser
private SQLQueryParser(java.lang.String query)
- Constructor, used to create a new parser entry
| Method Detail |
init
private void init()
- On a per Xconnection basis, we will create a SQLStatemenetParser, from
this parser, individual parsers will be created. The Init method is defined
to initialize all the internal structures that maintains the pool of parsers.
parse
public SQLQueryParser parse(XConnection xconn, java.lang.String query, int override)
- Produce an SQL Statement Parser based on the incomming query.
For now we will just create a new object, in the future we may have this
interface cache the queries so that we can take advantage of a preparsed
String.
If the Inline Parser is not enabled in the Options, no action will be
taken on the parser. This option can be set by the Stylesheet. If the
option is not set or cleared, a default value will be set determined
by the way variables were passed into the system.
parse
private void parse(XConnection xconn, int override)
- Produce an SQL Statement Parser based on the incomming query.
For now we will just create a new object, in the future we may have this
interface cache the queries so that we can take advantage of a preparsed
String.
If the Inline Parser is not enabled in the Options, no action will be
taken on the parser. This option can be set by the Stylesheet. If the
option is not set or cleared, a default value will be set determined
by the way variables were passed into the system.
hasParameters
public boolean hasParameters()
- If a SQL Statement does not have any parameters, then it can be executed
directly. Most SQL Servers use this as a performance advantage since no
parameters need to be parsed then bound.
isCallable
public boolean isCallable()
- If the Inline Parser is used, the parser will note if this stastement is
a plain SQL Statement or a Called Procedure. Called Procudures generally
have output parameters and require special handling.
Called Procudures that are not processed with the Inline Parser will
still be executed but under the context of a PreparedStatement and
not a CallableStatement. Called Procudures that have output parameters
MUST be handled with the Inline Parser.
getParameters
public java.util.Vector getParameters()
setParameters
public void setParameters(java.util.Vector p)
- The XConnection will use this method to store the Parameters
that were supplied by the style sheet in the case where the
inline parser was not used
getSQLQuery
public java.lang.String getSQLQuery()
- Return a copy of the parsed SQL query that will be set to the
Database system to execute. If the inline parser was not used,
then the original query will be returned.
populateStatement
public void populateStatement(java.sql.PreparedStatement stmt, org.apache.xalan.extensions.ExpressionContext ctx)
- The SQL Statement Parser, when an Inline Parser is used, tracks the XSL
variables used to populate a statement. The data use to popoulate a
can also be provided. If the data is provided, it will overide the
populastion using XSL variables. When the Inline PArser is not used, then
the Data will always be provided.
registerOutputParameters
public void registerOutputParameters(java.sql.CallableStatement cstmt) throws java.sql.SQLException
inlineParser
protected void inlineParser()
|
|||||||||
| Home >> All >> org >> apache >> xalan >> lib >> [ sql overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.apache.xalan.lib.sql.SQLQueryParser