|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectscriptella.jdbc.SqlParserBase
public class SqlParserBase
Customizable SQL parser.
Supported extensions
The parser supports extensions described in PropertiesSubstitutor.
Additionally ? prefix is used for expressions which should be injected as prepared statement parameters.
Example:
var=_name
id=11
--------------------------------------
select * FROM table${var} where id=?id
--- is transformed to ---
select * FROM table_name where id=? where statement parameter has value of 11
Notes:
--only ${prop} and ?surname are handled
SELECT * FROM "Table" WHERE NAME="?John${prop}" and SURNAME=?surname;
These extensions are handled by subclasses in handleParameter(String, boolean, boolean) method.
| Constructor Summary | |
|---|---|
SqlParserBase()
|
|
| Method Summary | |
|---|---|
protected java.lang.String |
handleParameter(java.lang.String name,
boolean expression,
boolean jdbcParam)
Called when parameter is encountered in SQL. |
void |
parse(java.io.Reader reader)
Parses SQL script. |
void |
parse(SqlTokenizer tok)
|
protected void |
statementParsed(java.lang.String sql)
Invoked when SQL statement has been processed and all expressions handled. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SqlParserBase()
| Method Detail |
|---|
public void parse(java.io.Reader reader)
reader - reader with SQL script.public void parse(SqlTokenizer tok)
protected java.lang.String handleParameter(java.lang.String name,
boolean expression,
boolean jdbcParam)
name - parameter name or expressionexpression - true if specified name is an expression, not a simple property referencejdbcParam - true if parameter value should be passed as prepared statement parameter. Othewise it's value should be inserted
into statement text.
protected void statementParsed(java.lang.String sql)
sql - content of the preprocessed statement.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||