|
|||||||||
| Home >> All >> com >> lutris >> dods >> builder >> generator >> [ query overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.lutris.dods.builder.generator.query
Class QueryBuilder

java.lang.Objectcom.lutris.dods.builder.generator.query.QueryBuilder
- All Implemented Interfaces:
- com.lutris.appserver.server.sql.Query
- public class QueryBuilder
- extends java.lang.Object
- implements com.lutris.appserver.server.sql.Query
- extends java.lang.Object
A QueryBuilder is a helper-object used by the xxxQuery classes.
Stand-alone usage:
QueryBuilder qb;
qb = new QueryBuilder( "cats" );
or
qb = new QueryBuilder( "cats", "name, age" );
...
qb.addWhereClause( "owner.name", "Smith",
QueryBuilder.NOT_NULL,
QueryBuilder.EXACT_MATCH );
qb.addWhereClause( "paws", 3, QueryBuilder.GREATER_THAN );
qb.addTwoColumnWhereClause(
"cat.ownerId", "owner.Id", QueryBuilder.EQUAL );
ResultSet rs = qb.executeQuery( conn );
...
qb.reset();
- Version:
- $Revision: 1.6.2.1.2.1.2.1 $
| Field Summary | |
private java.lang.String[] |
breakWords
|
static java.lang.String |
CASE_INSENSITIVE_CONTAINS
|
static java.lang.String |
CASE_INSENSITIVE_ENDS_WITH
|
static java.lang.String |
CASE_INSENSITIVE_EQUAL
|
static java.lang.String |
CASE_INSENSITIVE_STARTS_WITH
|
static java.lang.String |
CASE_SENSITIVE_CONTAINS
|
static java.lang.String |
CASE_SENSITIVE_ENDS_WITH
|
static java.lang.String |
CASE_SENSITIVE_STARTS_WITH
|
private static java.lang.String |
CLOSE_PAREN
|
(package private) static java.util.Hashtable |
cmp_ops
|
private com.lutris.appserver.server.sql.DBConnection |
conn
|
private com.lutris.appserver.server.sql.DBQuery |
dbQuery
Returns an RDBRow object containing the fields specified in the ctor. |
private static boolean |
debugAllSQL
|
private boolean |
debugSQL
|
static java.lang.String |
DEFAULT_MATCHES_KEYWORD
|
static java.lang.String |
DEFAULT_WILDCARD
|
private java.lang.String |
distinct
Add DISTINCT keyword to query. |
private boolean |
done
|
private java.util.Hashtable |
endClauses
|
static java.lang.String |
EQUAL
|
static boolean |
EXACT_MATCH
Deprecated. Use addWhere() methods instead of addWhereClause() methods. |
private java.util.BitSet |
fuzzies
|
static java.lang.String |
GREATER_THAN
|
static java.lang.String |
GREATER_THAN_OR_EQUAL
|
static java.lang.String |
IS_NOT_NULL
|
static java.lang.String |
IS_NULL
|
static java.lang.String |
LESS_THAN
|
static java.lang.String |
LESS_THAN_OR_EQUAL
|
private static java.lang.String |
likeKeyword
|
private java.lang.String |
mainTableName
|
private int |
maxRows
|
static java.lang.String |
NOT_EQUAL
|
static boolean |
NOT_EXACT
Deprecated. Use addWhere() methods instead of addWhereClause() methods. |
static boolean |
NOT_NULL
Deprecated. Use addWhere() methods instead of addWhereClause() methods. |
static boolean |
NULL_OK
Deprecated. Use addWhere() methods instead of addWhereClause() methods. |
private static int |
op_CASE_INSENSITIVE_CONTAINS
|
private static int |
op_CASE_INSENSITIVE_ENDS_WITH
|
private static int |
op_CASE_INSENSITIVE_EQUAL
|
private static int |
op_CASE_INSENSITIVE_STARTS_WITH
|
private static int |
op_CASE_SENSITIVE_CONTAINS
|
private static int |
op_CASE_SENSITIVE_ENDS_WITH
|
private static int |
op_CASE_SENSITIVE_STARTS_WITH
|
private static int |
op_EQUAL
|
private static int |
op_GREATER_THAN
|
private static int |
op_GREATER_THAN_OR_EQUAL
|
private static int |
op_IS_NOT_NULL
|
private static int |
op_IS_NULL
|
private static int |
op_LESS_THAN
|
private static int |
op_LESS_THAN_OR_EQUAL
|
private static int |
op_NOT_EQUAL
|
private static java.lang.String |
OPEN_PAREN
|
private static java.lang.String |
OR
|
private java.util.Vector |
orderDirections
|
private java.util.Vector |
orderFields
|
private int |
param
|
private java.util.Vector |
parms
|
private java.sql.ResultSet |
rs
|
private java.lang.String |
selectClause
|
private java.util.Vector |
selectedFields
|
private java.lang.String |
sql
Generate a JDBC PreparedStatement using the values passed for the where-clauses. |
private java.sql.PreparedStatement |
stmt
|
private java.util.Vector |
subQueries
QueryBuilder.addWhereIn( RDBColumn, QueryBuilder ) allows queries like select Person.Name from Person where Person.City in ( select City.oid from City where City.Size > 1000 ) with code like QueryBuilder mainQuery = new QueryBuilder(); mainQuery.select( PersonDO.Name ); QueryBuilder subQuery = new QueryBuilder(); subQuery.select( CityDO.PrimaryKey ); subQuery.addWhere( CityDO.Size, 1000, QueryBuilder.GREATER_THAN ); mainQuery.addWhereIn( PersonDO.City, subQuery ); |
private java.util.Hashtable |
tableNames
|
private java.util.Vector |
whereClauses
|
private static java.lang.String |
wildcard
|
| Constructor Summary | |
QueryBuilder()
Construct a QueryBuilder object. |
|
QueryBuilder(RDBColumn[] fields)
Construct a QueryBuilder object that will return specified fields of a table. |
|
QueryBuilder(java.lang.String tableName)
Construct a QueryBuilder object that will return all fields of a table. |
|
QueryBuilder(java.lang.String tableName,
java.lang.String fieldList)
Construct a QueryBuilder object that will return specified fields of a table. |
|
QueryBuilder(java.util.Vector fields)
Construct a QueryBuilder object that will return specified fields of a table. |
|
| Method Summary | |
private void |
_addWhereClause(RDBColumn column,
java.lang.Object value,
java.lang.String cmp_op)
|
private void |
_addWhereClause(java.lang.String column,
java.lang.Object value,
java.lang.String cmp_op)
|
void |
add(java.lang.String str)
Deprecated. Use addEndClause() instead. |
void |
addEndClause(java.lang.String clause)
Add a trailing clause (order by, group by, etc.) to the SQL command. |
void |
addOrderByColumn(RDBColumn column,
java.lang.String direction)
Add another field to the ORDER BY list. |
void |
addOrderByColumn(java.lang.String column,
java.lang.String direction)
Add another field to the ORDER BY list. |
void |
addTwoColumnWhereClause(java.lang.String column1,
java.lang.String column2)
Deprecated. Use addWhere(RDBColumn c1, RDBColumn c1) instead. |
void |
addTwoColumnWhereClause(java.lang.String column1,
java.lang.String column2,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn c1, RDBColumn c1, String cmp_op) instead. |
void |
addWhere(RDBColumn column,
java.math.BigDecimal value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
boolean value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
byte[] value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a byte array. |
void |
addWhere(RDBColumn column,
java.sql.Date value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a Date. |
void |
addWhere(RDBColumn column,
double value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
float value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
com.lutris.dods.builder.generator.dataobject.GenericDO value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
int value)
Add a where-clause that tests if a column is equal to a given String. |
void |
addWhere(RDBColumn column,
int value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
long value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column1,
RDBColumn column2)
Add a where-clause that tests if a column is equal to another column. |
void |
addWhere(RDBColumn column1,
RDBColumn column2,
java.lang.String cmp_op)
Add a where-clause that compares a column against another column. |
void |
addWhere(RDBColumn column,
java.lang.String value)
Add a where-clause that tests if a column is equal to a given String. |
void |
addWhere(RDBColumn column,
java.lang.String value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
java.sql.Timestamp value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(RDBColumn column,
java.sql.Time value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhere(java.lang.String fullClause)
|
boolean |
addWhereClause(java.lang.String column,
java.math.BigDecimal value,
boolean nullOk)
Deprecated. Use addWhere(RDBColumn c1, BigDecimal value, String cmp_op) instead. |
void |
addWhereClause(java.lang.String column,
boolean value)
Deprecated. Use addWhere(RDBColumn column, boolean value) instead. |
void |
addWhereClause(java.lang.String column,
boolean value,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn column, boolean value, String cmp_op ) instead. |
void |
addWhereClause(java.lang.String column,
java.sql.Date date,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn c1, Date value, String cmp_op) instead. |
void |
addWhereClause(java.lang.String column,
double value)
Deprecated. Use addWhere(RDBColumn column, double value) instead. |
void |
addWhereClause(java.lang.String column,
double value,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn column, double value, String cmp_op ) instead. |
void |
addWhereClause(java.lang.String column,
float value)
Deprecated. Use addWhere(RDBColumn column, float value) instead. |
void |
addWhereClause(java.lang.String column,
float value,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn column, float value, String cmp_op ) instead. |
void |
addWhereClause(java.lang.String column,
int value)
Deprecated. Use addWhere(RDBColumn column, int value) instead. |
void |
addWhereClause(java.lang.String column,
int value,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn column, int value, String cmp_op ) instead. |
void |
addWhereClause(java.lang.String column,
long value)
Deprecated. Use addWhere(RDBColumn column, long value) instead. |
void |
addWhereClause(java.lang.String column,
long value,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn column, long value, String cmp_op ) instead. |
void |
addWhereClause(java.lang.String column,
java.lang.String value,
java.lang.String cmp_op)
Deprecated. Use addWhere(RDBColumn column, String value, String cmp_op ) instead. |
void |
addWhereClause(java.lang.String column,
java.sql.Timestamp date,
java.lang.String cmp_op)
|
void |
addWhereClause(java.lang.String column,
java.sql.Time date,
java.lang.String cmp_op)
|
void |
addWhereCloseParen()
Close a previous addWhereOpenParen. |
void |
addWhereIn(RDBColumn field,
java.lang.Object[] values)
QueryBuilder.addWhereIn( RDBColumn, Object[] ) allows queries like select Person.Age from Person where Person.Name in ( "Bob", "Joe" ) with code like QueryBuilder qb = new QueryBuilder(); qb.select( PersonDO.Age ); String[] values = { "Bob", "Joe" }; qb.addWhereIn( PersonDO.Name, values ); |
void |
addWhereIn(RDBColumn field,
QueryBuilder qb)
|
void |
addWhereLeftOuter(RDBColumn column1,
RDBColumn column2)
Add a where-clause that imposes a LEFT OUTER JOIN to test if a column is equal to another column. |
void |
addWhereLower(RDBColumn column,
java.lang.String value,
java.lang.String cmp_op)
Add a where-clause that compares a column against a String. |
void |
addWhereOpenParen()
Specify that the next conditional expression (where-clause) should be preceded by '('. |
void |
addWhereOr()
Specify that the next conditional expression (where-clause) should be preceded by OR instead of AND. |
void |
addWhereRightOuter(RDBColumn column1,
RDBColumn column2)
Add a where-clause that imposes a RIGHT OUTER JOIN to test if a column is equal to another column. |
void |
applyParameters(java.sql.PreparedStatement ps,
int paramCount)
|
private void |
buildWhereClause(java.lang.String column,
java.lang.Object value,
java.lang.String cmp_op)
|
void |
close()
|
static boolean |
compare(boolean a,
boolean b,
java.lang.String cmp_op)
Wrapper for compare() method that takes Objects for arguments. |
static boolean |
compare(double a,
double b,
java.lang.String cmp_op)
Wrapper for compare() method that takes Objects for arguments. |
static boolean |
compare(java.lang.Object a,
java.lang.Object b,
java.lang.String cmp_op)
Compare two values according to a QueryBuilder comparison operator. |
void |
debug()
Sets debug flag to print the SQL statement just before its execution. |
static void |
debugAll()
Sets debug flag to print the SQL statement just before its execution. |
void |
distinct()
|
java.sql.ResultSet |
executeQuery(com.lutris.appserver.server.sql.DBConnection conn)
Execute the PreparedStatement and return a JDBC ResultSet. |
RDBRow |
getNextRow()
|
private java.lang.String |
getRegExpMatch(java.lang.String base)
Returns a regular expression, as supported by "MATCHES" that will will perform a case insensitive match of a substring. |
RDBRow[] |
getRows()
Returns an array of RDBRow objects. |
java.lang.String |
getSQL()
|
java.sql.PreparedStatement |
getStatement()
Return the JDBC PreparedStatement generated by prepareStatement(). |
private java.lang.String |
getTableName(java.lang.String column)
Determine table name of column. |
private java.lang.String |
indent(int level)
|
java.lang.Object |
next(java.sql.ResultSet rs)
WARNING! This method is disabled and should never be called. |
private void |
prepareStatement(com.lutris.appserver.server.sql.DBConnection conn)
|
private java.lang.String |
prettySQL(java.lang.String sql)
|
void |
reset()
Reset the where-clause information. |
void |
select(RDBColumn field)
Add a field to be returned by this QueryBuilder. |
void |
setDatabaseVendor(java.lang.String vendor)
|
void |
setMaxRows(int x)
|
void |
setStringMatchDetails(java.lang.String match_keyword,
java.lang.String wildcard)
Set the string matching details for inexact string matches See dods.conf for details. |
private void |
storeTableName(java.lang.String table)
Store a table name. |
private void |
storeTableNameForColumn(RDBColumn column)
Store all table names that occur as prefix of column specifications. |
private void |
storeTableNameForColumn(java.lang.String column)
Store all table names that occur as prefix of column specifications. |
static java.lang.String |
stringReplace(java.lang.String s,
java.lang.String find,
java.lang.String replace)
Replace a substring with another string. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
OR
private static final java.lang.String OR
- See Also:
- Constant Field Values
OPEN_PAREN
private static final java.lang.String OPEN_PAREN
- See Also:
- Constant Field Values
CLOSE_PAREN
private static final java.lang.String CLOSE_PAREN
- See Also:
- Constant Field Values
EQUAL
public static final java.lang.String EQUAL
- See Also:
- Constant Field Values
NOT_EQUAL
public static final java.lang.String NOT_EQUAL
- See Also:
- Constant Field Values
LESS_THAN
public static final java.lang.String LESS_THAN
- See Also:
- Constant Field Values
LESS_THAN_OR_EQUAL
public static final java.lang.String LESS_THAN_OR_EQUAL
- See Also:
- Constant Field Values
GREATER_THAN
public static final java.lang.String GREATER_THAN
- See Also:
- Constant Field Values
GREATER_THAN_OR_EQUAL
public static final java.lang.String GREATER_THAN_OR_EQUAL
- See Also:
- Constant Field Values
IS_NULL
public static final java.lang.String IS_NULL
- See Also:
- Constant Field Values
IS_NOT_NULL
public static final java.lang.String IS_NOT_NULL
- See Also:
- Constant Field Values
CASE_SENSITIVE_CONTAINS
public static final java.lang.String CASE_SENSITIVE_CONTAINS
- See Also:
- Constant Field Values
CASE_INSENSITIVE_CONTAINS
public static final java.lang.String CASE_INSENSITIVE_CONTAINS
- See Also:
- Constant Field Values
CASE_SENSITIVE_STARTS_WITH
public static final java.lang.String CASE_SENSITIVE_STARTS_WITH
- See Also:
- Constant Field Values
CASE_INSENSITIVE_STARTS_WITH
public static final java.lang.String CASE_INSENSITIVE_STARTS_WITH
- See Also:
- Constant Field Values
CASE_SENSITIVE_ENDS_WITH
public static final java.lang.String CASE_SENSITIVE_ENDS_WITH
- See Also:
- Constant Field Values
CASE_INSENSITIVE_ENDS_WITH
public static final java.lang.String CASE_INSENSITIVE_ENDS_WITH
- See Also:
- Constant Field Values
CASE_INSENSITIVE_EQUAL
public static final java.lang.String CASE_INSENSITIVE_EQUAL
- See Also:
- Constant Field Values
NULL_OK
public static final boolean NULL_OK
- Deprecated. Use addWhere() methods instead of addWhereClause() methods.
- Null-acceptability indicator passed as 3rd arg to addWhereClause( String )
- See Also:
- Constant Field Values
- Null-acceptability indicator passed as 3rd arg to addWhereClause( String )
NOT_NULL
public static final boolean NOT_NULL
- Deprecated. Use addWhere() methods instead of addWhereClause() methods.
- Null-acceptability indicator passed as 3rd arg to addWhereClause( String )
- See Also:
- Constant Field Values
- Null-acceptability indicator passed as 3rd arg to addWhereClause( String )
EXACT_MATCH
public static final boolean EXACT_MATCH
- Deprecated. Use addWhere() methods instead of addWhereClause() methods.
- Wild-card indicator passed as 4th arg to addWhereClause( String )
- See Also:
- Constant Field Values
- Wild-card indicator passed as 4th arg to addWhereClause( String )
NOT_EXACT
public static final boolean NOT_EXACT
- Deprecated. Use addWhere() methods instead of addWhereClause() methods.
- Wild-card indicator passed as 4th arg to addWhereClause( String )
- See Also:
- Constant Field Values
- Wild-card indicator passed as 4th arg to addWhereClause( String )
DEFAULT_MATCHES_KEYWORD
public static final java.lang.String DEFAULT_MATCHES_KEYWORD
- See Also:
- Constant Field Values
likeKeyword
private static java.lang.String likeKeyword
DEFAULT_WILDCARD
public static final java.lang.String DEFAULT_WILDCARD
- See Also:
- Constant Field Values
wildcard
private static java.lang.String wildcard
debugAllSQL
private static boolean debugAllSQL
debugSQL
private boolean debugSQL
dbQuery
private com.lutris.appserver.server.sql.DBQuery dbQuery
- Returns an RDBRow object containing the fields specified in the ctor.
On first call, executes the query.
NOTE: to use this method, the QueryBuilder object must be created
using the
QueryBuilder( RDBColumn[] )
constructor.
rs
private java.sql.ResultSet rs
done
private boolean done
distinct
private java.lang.String distinct
- Add DISTINCT keyword to query.
subQueries
private java.util.Vector subQueries
- QueryBuilder.addWhereIn( RDBColumn, QueryBuilder )
allows queries like
select Person.Name from Person where Person.City
in ( select City.oid from City where City.Size > 1000 )
with code like
QueryBuilder mainQuery = new QueryBuilder();
mainQuery.select( PersonDO.Name );
QueryBuilder subQuery = new QueryBuilder();
subQuery.select( CityDO.PrimaryKey );
subQuery.addWhere( CityDO.Size, 1000, QueryBuilder.GREATER_THAN );
mainQuery.addWhereIn( PersonDO.City, subQuery );
sql
private java.lang.String sql
- Generate a JDBC PreparedStatement using the values passed
for the where-clauses.
maxRows
private int maxRows
breakWords
private java.lang.String[] breakWords
mainTableName
private java.lang.String mainTableName
tableNames
private java.util.Hashtable tableNames
endClauses
private java.util.Hashtable endClauses
selectedFields
private java.util.Vector selectedFields
selectClause
private java.lang.String selectClause
whereClauses
private java.util.Vector whereClauses
orderFields
private java.util.Vector orderFields
orderDirections
private java.util.Vector orderDirections
stmt
private java.sql.PreparedStatement stmt
parms
private java.util.Vector parms
fuzzies
private java.util.BitSet fuzzies
param
private int param
conn
private com.lutris.appserver.server.sql.DBConnection conn
op_EQUAL
private static final int op_EQUAL
- See Also:
- Constant Field Values
op_NOT_EQUAL
private static final int op_NOT_EQUAL
- See Also:
- Constant Field Values
op_LESS_THAN
private static final int op_LESS_THAN
- See Also:
- Constant Field Values
op_LESS_THAN_OR_EQUAL
private static final int op_LESS_THAN_OR_EQUAL
- See Also:
- Constant Field Values
op_GREATER_THAN
private static final int op_GREATER_THAN
- See Also:
- Constant Field Values
op_GREATER_THAN_OR_EQUAL
private static final int op_GREATER_THAN_OR_EQUAL
- See Also:
- Constant Field Values
op_IS_NULL
private static final int op_IS_NULL
- See Also:
- Constant Field Values
op_IS_NOT_NULL
private static final int op_IS_NOT_NULL
- See Also:
- Constant Field Values
op_CASE_SENSITIVE_CONTAINS
private static final int op_CASE_SENSITIVE_CONTAINS
- See Also:
- Constant Field Values
op_CASE_INSENSITIVE_CONTAINS
private static final int op_CASE_INSENSITIVE_CONTAINS
- See Also:
- Constant Field Values
op_CASE_SENSITIVE_STARTS_WITH
private static final int op_CASE_SENSITIVE_STARTS_WITH
- See Also:
- Constant Field Values
op_CASE_INSENSITIVE_STARTS_WITH
private static final int op_CASE_INSENSITIVE_STARTS_WITH
- See Also:
- Constant Field Values
op_CASE_SENSITIVE_ENDS_WITH
private static final int op_CASE_SENSITIVE_ENDS_WITH
- See Also:
- Constant Field Values
op_CASE_INSENSITIVE_ENDS_WITH
private static final int op_CASE_INSENSITIVE_ENDS_WITH
- See Also:
- Constant Field Values
op_CASE_INSENSITIVE_EQUAL
private static final int op_CASE_INSENSITIVE_EQUAL
- See Also:
- Constant Field Values
cmp_ops
static java.util.Hashtable cmp_ops
| Constructor Detail |
QueryBuilder
public QueryBuilder(java.util.Vector fields)
- Construct a QueryBuilder object that will return specified fields of a table.
Style 2 (see above.)
QueryBuilder
public QueryBuilder(RDBColumn[] fields)
- Construct a QueryBuilder object that will return specified fields of a table.
Style 2 (see above.)
QueryBuilder
public QueryBuilder()
- Construct a QueryBuilder object.
When no fields are specified in the constructor,
you must use calls to select() to specify the RDBColumns
that will be returned.
This can be more convenient than constructing the Vector before
calling the QueryBuilder(Vector) constructor.
Style 2 (see above.)
QueryBuilder
public QueryBuilder(java.lang.String tableName)
- Construct a QueryBuilder object that will return all fields of a table.
Style 1 (see above.)
WARNING: QueryBuilder objects created with this constructor
cannot be used with the getNextRow() method.
QueryBuilder
public QueryBuilder(java.lang.String tableName, java.lang.String fieldList)
- Construct a QueryBuilder object that will return specified fields of a table.
Style 1 (see above.)
| Method Detail |
select
public void select(RDBColumn field)
- Add a field to be returned by this QueryBuilder.
Style 2 (see above.)
getRows
public RDBRow[] getRows() throws QueryException
- Returns an array of RDBRow objects.
getNextRow
public RDBRow getNextRow() throws QueryException
next
public java.lang.Object next(java.sql.ResultSet rs) throws java.sql.SQLException, com.lutris.appserver.server.sql.ObjectIdException
- WARNING! This method is disabled and should never be called.
It's implementation is forced by the Query interface.
Use getNextRow instead().
- Specified by:
nextin interfacecom.lutris.appserver.server.sql.Query
getTableName
private java.lang.String getTableName(java.lang.String column)
- Determine table name of column.
For example, we return 'tableX' from the following column specification:
UPPER(tableX.columnY)
WARNING: trickier column specifications will cause this method to fail.
storeTableNameForColumn
private void storeTableNameForColumn(java.lang.String column)
- Store all table names that occur as prefix of column specifications.
All table names must appear in the "from" clause.
storeTableNameForColumn
private void storeTableNameForColumn(RDBColumn column)
- Store all table names that occur as prefix of column specifications.
All table names must appear in the "from" clause.
storeTableName
private void storeTableName(java.lang.String table)
- Store a table name.
All table names must appear in the "from" clause.
addWhereOr
public void addWhereOr()
Specify that the next conditional expression (where-clause) should be preceded by OR instead of AND. (AND is the default). For example: addWhereClause( "person.fname", "Bob", EQUAL ); addWhereClause( "person.lname", "Smith", EQUAL ); produces person.fname = 'Bob' AND person.lname = 'Smith' But: addWhereClause( "person.fname", "Bob", EQUAL ); addWhereOr(); addWhereClause( "person.lname", "Smith", EQUAL ); produces person.fname = 'Bob' OR person.lname = 'Smith' Disallows 'OR OR'. Trailing ORs are removed by prepareStatement().
addWhereOpenParen
public void addWhereOpenParen()
- Specify that the next conditional expression (where-clause)
should be preceded by '('.
Trailing OPEN_PARENs are removed by prepareStatement().
addWhereCloseParen
public void addWhereCloseParen()
- Close a previous addWhereOpenParen.
Automatically disallows bad sequences like 'OR )' and '( )'.
addWhere
public void addWhere(RDBColumn column, com.lutris.dods.builder.generator.dataobject.GenericDO value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, byte[] value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a byte array.
addWhere
public void addWhere(RDBColumn column, java.sql.Time value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, java.sql.Timestamp value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, long value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, double value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, float value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, java.math.BigDecimal value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, int value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, boolean value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, int value)
- Add a where-clause that tests if a column is equal to a given String.
addWhereLower
public void addWhereLower(RDBColumn column, java.lang.String value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, java.lang.String value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a String.
addWhere
public void addWhere(RDBColumn column, java.lang.String value)
- Add a where-clause that tests if a column is equal to a given String.
addWhere
public void addWhere(RDBColumn column, java.sql.Date value, java.lang.String cmp_op)
- Add a where-clause that compares a column against a Date.
addWhere
public void addWhere(RDBColumn column1, RDBColumn column2, java.lang.String cmp_op)
- Add a where-clause that compares a column against another column.
addWhere
public void addWhere(RDBColumn column1, RDBColumn column2)
- Add a where-clause that tests if a column is equal to another column.
addWhereRightOuter
public void addWhereRightOuter(RDBColumn column1, RDBColumn column2)
- Add a where-clause that imposes a RIGHT OUTER JOIN to
test if a column is equal to another column.
addWhereLeftOuter
public void addWhereLeftOuter(RDBColumn column1, RDBColumn column2)
- Add a where-clause that imposes a LEFT OUTER JOIN to
test if a column is equal to another column.
addTwoColumnWhereClause
public void addTwoColumnWhereClause(java.lang.String column1, java.lang.String column2, java.lang.String cmp_op)
- Deprecated. Use addWhere(RDBColumn c1, RDBColumn c1, String cmp_op) instead.
Add a where-clause to the SQL command. The where-clause compare the values of two columns using the specified comparison operator. E.g., we want to find cats with too many paws: column1 = "cat.paws" column2 = "animalNorms.catPaws" cmp_op = QueryBuilder.GREATER_THAN generates the where-clause: cat.paws > animalNorms.catPaws and remembers the table names (cat, animalNorms) for inclusion in the from-clause.
addTwoColumnWhereClause
public void addTwoColumnWhereClause(java.lang.String column1, java.lang.String column2)
- Deprecated. Use addWhere(RDBColumn c1, RDBColumn c1) instead.
Add a where-clause to the SQL command. The where-clause compare the values of two columns using the EQUAL operator. E.g., we want to find cats with the normal number of paws: column1 = "cat.paws" column2 = "animalNorms.catPaws" generates the where-clause: cat.paws = animalNorms.catPaws and remembers the table names (cat, animalNorms) for inclusion in the from-clause.
stringReplace
public static java.lang.String stringReplace(java.lang.String s, java.lang.String find, java.lang.String replace)
- Replace a substring with another string.
_addWhereClause
private void _addWhereClause(RDBColumn column, java.lang.Object value, java.lang.String cmp_op)
_addWhereClause
private void _addWhereClause(java.lang.String column, java.lang.Object value, java.lang.String cmp_op)
JAVADOC
com.lutris.dods.builder.generator.query.QueryBuilder