|
DODS 7.3 API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.lutris.dods.builder.generator.query.QueryBuilder
public class QueryBuilder
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();
Field Summary | |
---|---|
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_MATCH
|
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_MATCH
|
static java.lang.String |
CASE_SENSITIVE_STARTS_WITH
|
static java.lang.String |
CLOSE_IN
|
static long |
countX
|
static java.lang.String |
DEFAULT_MATCHES_KEYWORD
|
static java.lang.String |
DEFAULT_SINGLE_WILDCARD
|
static java.lang.String |
DEFAULT_SINGLE_WILDCARD_ESCAPE
|
static boolean |
DEFAULT_USER_APPEND_WILDCARD
|
static java.lang.String |
DEFAULT_USER_SINGLE_WILDCARD
|
static java.lang.String |
DEFAULT_USER_SINGLE_WILDCARD_ESCAPE
|
static boolean |
DEFAULT_USER_TRIM_STRING
|
static java.lang.String |
DEFAULT_USER_WILDCARD
|
static java.lang.String |
DEFAULT_USER_WILDCARD_ESCAPE
|
static java.lang.String |
DEFAULT_WILDCARD
|
static java.lang.String |
DEFAULT_WILDCARD_ESCAPE
|
static java.lang.String |
DEFAULT_WILDCARD_ESCAPE_CLAUSE
|
static int |
DELETE_QUERY
|
static java.lang.String |
EQUAL
|
static boolean |
EXACT_MATCH
Deprecated. Use addWhere() methods instead of addWhereClause() methods. |
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
|
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. |
static java.lang.String |
OPEN_EXISTS
|
static java.lang.String |
OPEN_IN
|
static java.lang.String |
OPEN_NOT_EXISTS
|
static java.lang.String |
OPEN_NOT_IN
|
static int |
SELECT_QUERY
|
static int |
UPDATE_QUERY
|
static java.lang.String |
USER_CASE_INSENSITIVE_MATCH
|
static java.lang.String |
USER_CASE_SENSITIVE_MATCH
|
java.lang.String |
userConfigSingleWildcard
|
java.lang.String |
userConfigSingleWildcardEscape
|
java.lang.String |
userConfigWildcard
|
java.lang.String |
userConfigWildcardEscape
|
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 | |
---|---|
void |
_helperSetMultiTableJoin(boolean isMultiTableJoin)
WARNING! This method is used only for internal DODS purposes. |
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. |
boolean |
addMatchClause(RDBColumn column,
java.lang.String value)
Deprecated. Use comparison operators instead |
boolean |
addMatchClause(java.lang.String column,
java.lang.String value)
Deprecated. Use comparison operators instead |
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 |
addUnion(QueryBuilder qb,
boolean all)
QueryBuilder.addUnion(QueryBuilder qb, boolean all) |
void |
addUpdateColumn(RDBColumn column,
java.lang.Object value)
Add a column to set by update query |
void |
addUpdateColumn(java.lang.String column,
java.lang.Object value)
Deprecated. Use addUpdateColumn(RDBColumn column, Object value) instead. |
void |
addUpdateSQL(RDBColumn column,
java.lang.String sqlValue)
addUpdateSQL |
void |
addUpdateSQL(java.lang.String column,
java.lang.String sqlValue)
|
boolean |
addUserMatchClause(RDBColumn column,
java.lang.String value)
Deprecated. Use comparison operators instead |
boolean |
addUserMatchClause(java.lang.String column,
java.lang.String value)
Deprecated. Use comparison operators 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,
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 |
addWhereExists(QueryBuilder qb)
QueryBuilder.addWhereExists( QueryBuilder ) |
void |
addWhereIn(java.lang.Object val,
java.lang.Object[] values)
QueryBuilder.addWhereIn( Object, 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 ); or query select Person.Age from Person where "Tom" in ( Person.Surname, Person.Nick ) with code QueryBuilder qb = new QueryBuilder(); qb.select( PersonDO.Age ); RDBColumn[] values = { PersonDO.Surname, PersonDO.Nick }; qb.addWhereIn( "Tom", values ); |
void |
addWhereIn(RDBColumn val,
java.math.BigDecimal[] values)
QueryBuilder.addWhereIn( RDBColumn, BigDecimal[] ) allows queries like select Person.Age from Person where Person.oid in ( 100, 101 ) with code like QueryBuilder qb = new QueryBuilder(); qb.select( PersonDO.Age ); BigDecimal[] values = { new BigDecimal("100") , new BigDecimal("101") }; qb.addWhereIn( PersonDO.Name, values ); |
void |
addWhereIn(RDBColumn val,
GenericDO[] values)
QueryBuilder.addWhereIn( RDBColumn, GenericDO[] ) allows queries like select Person.Age from Person where Person.oid in ( 100, 101 ) with code like QueryBuilder qb = new QueryBuilder(); qb.select( PersonDO.Age ); GenericDO[] values = { new GenericDO("100") , new GenericDO("101") }; qb.addWhereIn( PersonDO.Name, values ); |
void |
addWhereIn(RDBColumn val,
ObjectId[] values)
QueryBuilder.addWhereIn( RDBColumn, ObjectId[] ) allows queries like select Person.Age from Person where Person.oid in ( 100, 101 ) with code like QueryBuilder qb = new QueryBuilder(); qb.select( PersonDO.Age ); ObjectId[] values = { new ObjectId("100") , new ObjectId("101") }; qb.addWhereIn( PersonDO.Name, values ); |
void |
addWhereIn(RDBColumn field,
QueryBuilder qb)
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 ); |
void |
addWhereIn(RDBColumn val,
java.lang.String[] values)
QueryBuilder.addWhereIn( RDBColumn, String[] ) 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 |
addWhereIsNotNull(RDBColumn column)
Add a where-clause that tests if a column is null. |
void |
addWhereIsNotNull(java.lang.String column)
Deprecated. Use addWhereIsNotNull(RDBColumn column ) instead. |
void |
addWhereIsNull(RDBColumn column)
Add a where-clause that tests if a column is null. |
void |
addWhereIsNull(java.lang.String column)
Deprecated. Use addWhereIsNull(RDBColumn column ) instead. |
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 |
addWhereNotExists(QueryBuilder qb)
QueryBuilder.addWhereNotExists( QueryBuilder ) |
void |
addWhereNotIn(java.lang.Object val,
java.lang.Object[] values)
QueryBuilder.addWhereNotIn( Object, Object[] ) see addWhereIn( Object val, Object[] values ) for example |
void |
addWhereNotIn(RDBColumn field,
QueryBuilder qb)
QueryBuilder.addWhereNotIn( RDBColumn, QueryBuilder ) allows queries like select Person.Name from Person where Person.City not 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.addWhereNotIn( PersonDO.City, subQuery ); |
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. |
int |
applyParameters(java.sql.PreparedStatement ps,
int paramCount)
|
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(boolean a,
java.lang.Object 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(double a,
java.lang.Object 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. |
boolean |
containsWildcards(java.lang.String value)
Evaluate if string contains Wildcards WebDocWf extension for extended wildcard support |
java.lang.String |
convertUserSearchValue(java.lang.String value)
Replace User wildcards with DB vendor specific wildcards according to dods.conf WebDocWf extension for extended wildcard support |
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(DBConnection conn)
Execute the PreparedStatement and return a JDBC ResultSet. |
int |
executeUpdate()
Executes the SQL INSERT, UPDATE or DELETE statement |
int |
executeUpdate(DBConnection dbConn)
|
static java.lang.String |
getCountX()
|
int |
getCurrentFetchSize()
reads the current fetchsize for this query |
int |
getCurrentQueryTimeout()
reads the current queryTimeout for this query |
java.lang.String |
getDatabaseName()
Get database name. |
static int |
getDefaultFetchSize()
reads the default fetchsize |
static int |
getDefaultQueryTimeout()
gets the default queryTimeout |
int |
getMaxExecuteTime()
reads maxExecuteTime for the query |
RDBRow |
getNextRow()
|
boolean |
getPreventPrimaryKeySelect()
Returnes preventPrimaryKeySelect attribute. |
RDBRow[] |
getRows()
Returns an array of RDBRow objects. |
java.lang.String |
getSelectClause()
Get the Query select clause string Hack for implementing row counters |
java.lang.String |
getSQL()
|
java.lang.String |
getSQLwithParms()
|
java.sql.PreparedStatement |
getStatement()
Return the JDBC PreparedStatement generated by prepareStatement(). |
java.sql.PreparedStatement |
getStatement(DBConnection conn)
Return the JDBC PreparedStatement generated by prepareStatement(). |
boolean |
getUserStringAppendWildcard()
Get whether Querybuilder should append a wildcard at the end of match-strings WebDocWf extension for extended wildcard support |
java.lang.String |
getUserStringSingleWildcard()
Get the user single wildcard WebDocWf extension for extended wildcard support |
java.lang.String |
getUserStringSingleWildcardEscape()
Get the user single wildcard escape char WebDocWf extension for extended wildcard support |
boolean |
getUserStringTrim()
Get whether Querybuilder trims the match strings WebDocWf extension for extended wildcard support |
java.lang.String |
getUserStringWildcard()
Get the user wildcard WebDocWf extension for extended wildcard support |
java.lang.String |
getUserStringWildcardEscape()
Get the user wildcard escape char WebDocWf extension for extended wildcard support |
boolean |
isMultiTableJoin()
Returnes multiTableJoin attribute. |
boolean |
isUnionTableJoin()
Returnes unionTableJoin attribute. |
java.lang.Object |
next(java.sql.ResultSet rs)
WARNING: This method is disabled and should never be called. |
void |
reset()
Reset the where-clause information. |
void |
resetSelectedFields()
Resets selected fields. |
void |
resetUnion()
Reset (remove) "UNION [ALL]" part of query. |
void |
select(RDBColumn field)
Add a field to be returned by this QueryBuilder. |
void |
setCurrentFetchSize(int iCurrentFetchSizeIn)
sets the fetchsize for this query, overwrites the applicationfetchsize |
void |
setCurrentQueryTimeout(int iQueryTimeoutIn)
Sets the current queryTimeout for this query |
void |
setCursorType(int resultSetType,
int resultSetConcurrency)
Sets the current cursor type - overrides default value from dbVendorConf file. |
void |
setDatabaseName(java.lang.String dbName)
Set database name to QueryBuilder. |
void |
setDatabaseVendor()
Set database vendor for the default logical database. |
void |
setDatabaseVendor(java.lang.String vendor)
|
static void |
setDefaultFetchSize(int iDefaultFetchSizeIn)
sets the default fetchsize |
static void |
setDefaultQueryTimeout(int iQueryTimeout)
sets the default queryTimeout |
void |
setDeleteQuery()
|
void |
setMaxExecuteTime(int maxExeTime)
Set maxExecuteTime for the query |
void |
setMaxRows(int x)
|
void |
setSelectClause(java.lang.String newClause)
Set the Query select clause (e.g. |
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. |
void |
setStringMatchDetails(java.lang.String match_keyword,
java.lang.String multi_wildcard,
java.lang.String single_wildcard,
java.lang.String single_wildcard_escape,
java.lang.String multi_wildcard_escape,
java.lang.String wildcard_escape_clause)
Initialize the extended wildcard support WebDocWf extension for extended wildcard support |
void |
setUserStringAppendWildcard(boolean user_append_wildcard)
Set whether Querybuilder should append a wildcard at the end of match-strings WebDocWf extension for extended wildcard support |
void |
setUserStringSingleWildcard(java.lang.String user_single_wildcard)
Change the user single wildcard WebDocWf extension for extended wildcard support |
void |
setUserStringSingleWildcardEscape(java.lang.String user_single_wildcard_escape)
Change the user single wildcard esacpe char WebDocWf extension for extended wildcard support |
void |
setUserStringTrim(boolean user_trim_string)
Set whether Querybuilder should trim the match strings WebDocWf extension for extended wildcard support |
void |
setUserStringWildcard(java.lang.String user_wildcard)
Change the user wildcard WebDocWf extension for extended wildcard support |
void |
setUserStringWildcardEscape(java.lang.String user_wildcard_escape)
Change the user wildcard esacpe char WebDocWf extension for extended wildcard support |
void |
storeTableName(java.lang.String table)
Store a table name. |
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 |
---|
public static final java.lang.String EQUAL
public static java.lang.String NOT_EQUAL
public static final java.lang.String LESS_THAN
public static final java.lang.String LESS_THAN_OR_EQUAL
public static final java.lang.String GREATER_THAN
public static final java.lang.String GREATER_THAN_OR_EQUAL
public static final java.lang.String IS_NULL
public static final java.lang.String IS_NOT_NULL
public static final java.lang.String OPEN_IN
public static final java.lang.String OPEN_NOT_IN
public static final java.lang.String OPEN_EXISTS
public static final java.lang.String OPEN_NOT_EXISTS
public static final java.lang.String CLOSE_IN
public static final java.lang.String CASE_SENSITIVE_CONTAINS
public static final java.lang.String CASE_INSENSITIVE_CONTAINS
public static final java.lang.String CASE_SENSITIVE_STARTS_WITH
public static final java.lang.String CASE_INSENSITIVE_STARTS_WITH
public static final java.lang.String CASE_SENSITIVE_ENDS_WITH
public static final java.lang.String CASE_INSENSITIVE_ENDS_WITH
public static final java.lang.String CASE_INSENSITIVE_EQUAL
public static final java.lang.String CASE_SENSITIVE_MATCH
public static final java.lang.String CASE_INSENSITIVE_MATCH
public static final java.lang.String USER_CASE_SENSITIVE_MATCH
public static final java.lang.String USER_CASE_INSENSITIVE_MATCH
public static final boolean NULL_OK
public static final boolean NOT_NULL
public static final boolean EXACT_MATCH
public static final boolean NOT_EXACT
public static final java.lang.String DEFAULT_MATCHES_KEYWORD
public static final java.lang.String DEFAULT_WILDCARD
public static final java.lang.String DEFAULT_SINGLE_WILDCARD
public static final java.lang.String DEFAULT_SINGLE_WILDCARD_ESCAPE
public static final java.lang.String DEFAULT_WILDCARD_ESCAPE
public static final java.lang.String DEFAULT_WILDCARD_ESCAPE_CLAUSE
public static final java.lang.String DEFAULT_USER_WILDCARD
public static final java.lang.String DEFAULT_USER_SINGLE_WILDCARD
public static final java.lang.String DEFAULT_USER_SINGLE_WILDCARD_ESCAPE
public static final java.lang.String DEFAULT_USER_WILDCARD_ESCAPE
public static final boolean DEFAULT_USER_APPEND_WILDCARD
public static final boolean DEFAULT_USER_TRIM_STRING
public java.lang.String userConfigWildcard
public java.lang.String userConfigSingleWildcard
public java.lang.String userConfigSingleWildcardEscape
public java.lang.String userConfigWildcardEscape
public static final int SELECT_QUERY
public static final int UPDATE_QUERY
public static final int DELETE_QUERY
public static long countX
Constructor Detail |
---|
public QueryBuilder(java.util.Vector fields)
fields
- Vector of RDBColumn objects,
one for each column to be returned. Fields can refer to different tables.public QueryBuilder(RDBColumn[] fields)
fields
- array of RDBColumn objects,
one for each column to be returned. Fields can refer to different tables.public QueryBuilder()
public QueryBuilder(java.lang.String tableName)
tableName
- Name of the table on which to perform the SQL 'select'.getNextRow()
public QueryBuilder(java.lang.String tableName, java.lang.String fieldList)
tableName
- Name of the table on which to perform the SQL 'select'.fieldList
- Comma-separated string of field names to retrieve.Method Detail |
---|
public void select(RDBColumn field)
field
- RDBColumn object to be returned.
Fields can refer to different tables.public RDBRow[] getRows() throws QueryException
ATException
- If the data is not accessible
BusinessRuleException
- If x is invalid.
QueryException
author Jay Gunter
public RDBRow getNextRow() throws QueryException
QueryException
public java.lang.Object next(java.sql.ResultSet rs) throws java.sql.SQLException, ObjectIdException
next
in interface Query
java.sql.SQLException
ObjectIdException
public boolean isMultiTableJoin()
public boolean isUnionTableJoin()
public boolean getPreventPrimaryKeySelect()
public void resetSelectedFields()
public void storeTableName(java.lang.String table)
table
- name.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().author Jay Gunter
public void addWhereOpenParen()
public void addWhereCloseParen()
public void addWhere(RDBColumn column, GenericDO value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- int value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, byte[] value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- byte array to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, java.sql.Time value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- int value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, java.sql.Timestamp value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- int value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, long value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- long value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, double value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- double value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, float value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- float value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, java.math.BigDecimal value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- BigDecimal value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, int value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- int value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, boolean value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- boolean value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, int value)
column
- A column (field) name to use as a search constraint.value
- int value to compare against.
author Jay Gunterpublic void addWhereLower(RDBColumn column, java.lang.String value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- String value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, java.lang.String value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- String value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column, java.lang.String value)
column
- A column (field) name to use as a search constraint.value
- String value to compare against.
author Jay Gunterpublic void addWhere(RDBColumn column, java.sql.Date value, java.lang.String cmp_op)
column
- A column (field) name to use as a search constraint.value
- Date value to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column1, RDBColumn column2, java.lang.String cmp_op)
column1
- A column (field) name to use as a search constraint.column2
- A column (field) name to use as a search constraint.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...
author Jay Gunterpublic void addWhere(RDBColumn column1, RDBColumn column2)
column1
- A column (field) name to use as a search constraint.column2
- A column (field) name to use as a search constraint.
author Jay Gunterpublic void addWhereIsNull(RDBColumn column)
column
- A column (field) name to use as a search constraint.
author kapusta@grecodata.skpublic void addWhereIsNotNull(RDBColumn column)
column
- A column (field) name to use as a search constraint.
author kapusta@grecodata.skpublic void addWhereIsNull(java.lang.String column)
column
- A column (field) name to use as a search constraint.public void addWhereIsNotNull(java.lang.String column)
column
- A column (field) name to use as a search constraint.public void addWhereRightOuter(RDBColumn column1, RDBColumn column2)
column1
- A column (field) name to use as a search constraint.column2
- A column (field) name to use as a search constraint.
author Jay Gunterpublic void addWhereLeftOuter(RDBColumn column1, RDBColumn column2)
column1
- A column (field) name to use as a search constraint.column2
- A column (field) name to use as a search constraint.
author Jay Gunterpublic void addTwoColumnWhereClause(java.lang.String column1, java.lang.String column2, java.lang.String cmp_op)
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.
column1
- A column (field) name to use as a search constraint.column2
- Another column to compare against.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addTwoColumnWhereClause(java.lang.String column1, java.lang.String column2)
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.
column1
- A column (field) name to use as a search constraint.column2
- Another column to compare against.public static java.lang.String stringReplace(java.lang.String s, java.lang.String find, java.lang.String replace)
s
- the original string.find
- the substring to replace.replace
- the replacement string.
author Jay Gunter
public void addWhereClause(java.lang.String column, java.lang.String value, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.value
- The value to search for.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public boolean addMatchClause(java.lang.String column, java.lang.String value)
column
- The column (field) name to use as a search constraint.value
- The value containing DB (vendor) specific wildcards to search for.
public boolean addUserMatchClause(java.lang.String column, java.lang.String value)
column
- The column (field) name to use as a search constraint.value
- The value containing User specific wildcards to search for.
public boolean addMatchClause(RDBColumn column, java.lang.String value)
column
- The column (field) to use as a search constraint.value
- The value containing DB (vendor) specific wildcards to search for.
public boolean addUserMatchClause(RDBColumn column, java.lang.String value)
column
- The column (field) to use as a search constraint.value
- The value containing User specific wildcards to search for.
public boolean containsWildcards(java.lang.String value)
value
- The value containing DB (vendor) specific wildcards to search for.
public java.lang.String convertUserSearchValue(java.lang.String value)
value
- The string with User wildcards to be changed
public boolean addWhereClause(java.lang.String column, java.math.BigDecimal value, boolean nullOk)
column
- The column (field) name to use as a search constraint.value
- The value to search for.nullOk
- Whether a value of NULL is acceptable.
public void addWhereClause(java.lang.String column, int value)
column
- The column (field) name to use as a search constraint.value
- The int value to search for.public void addWhereClause(java.lang.String column, int value, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.value
- The int value to search for.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addWhereClause(java.lang.String column, long value)
column
- The column (field) name to use as a search constraint.value
- The long value to search for.public void addWhereClause(java.lang.String column, long value, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.value
- The long value to search for.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addWhereClause(java.lang.String column, float value)
column
- The column (field) name to use as a search constraint.value
- The value to search for.public void addWhereClause(java.lang.String column, float value, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.value
- The value to search for.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addWhereClause(java.lang.String column, double value)
column
- The column (field) name to use as a search constraint.value
- The value to search for.public void addWhereClause(java.lang.String column, double value, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.value
- The value to search for.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addWhereClause(java.lang.String column, boolean value)
column
- The column (field) name to use as a search constraint.value
- The value to search for.public void addWhereClause(java.lang.String column, boolean value, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.value
- The value to search for.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addEndClause(java.lang.String clause)
clause
- The clause to append to the SQL command.public void add(java.lang.String str)
str
- The string to append to the SQL command.public void debug()
public static void debugAll()
public void distinct()
public void addWhere(java.lang.String fullClause)
public void addWhereIn(RDBColumn val, java.lang.String[] values) throws QueryException
val
- : PersonDO.Name in the example abovevalues
- : array of Strings containing values for IN clause
QueryException
- if values is null or empty
author Sinisa Milosevicpublic void addWhereIn(RDBColumn val, java.math.BigDecimal[] values) throws QueryException
val
- : PersonDO.Name in the example abovevalues
- : array of Strings containing values for IN clause
QueryException
- if values is null or empty
author Sinisa Milosevicpublic void addWhereIn(RDBColumn val, ObjectId[] values) throws QueryException
val
- : PersonDO.Name in the example abovevalues
- : array of Strings containing values for IN clause
QueryException
- if values is null or empty
author Sinisa Milosevicpublic void addWhereIn(RDBColumn val, GenericDO[] values) throws QueryException
val
- : PersonDO.oid in the example abovevalues
- : array of Strings containing values for IN clause
QueryException
- if values is null or empty
author Sinisa Milosevicpublic void addWhereIn(RDBColumn field, QueryBuilder qb) throws QueryException
field
- T1DO.T1Y in the example aboveqb
- subQuery in the example above
author Jay Gunter
QueryException
public void resetUnion()
public void addUnion(QueryBuilder qb, boolean all) throws QueryException
qb
- Additional query that will be added in "UNION" part of this query.all
- If this parameter is set to "true" then union clausule will be set to "UNION ALL" instead of "UNION"
QueryException
public void addWhereExists(QueryBuilder qb) throws QueryException
qb
- subQuery in the example above
author rkapusta@together.sk
QueryException
public void addWhereNotExists(QueryBuilder qb) throws QueryException
qb
- subQuery in the example above
author rkapusta@together.sk
QueryException
public void addWhereNotIn(RDBColumn field, QueryBuilder qb) throws QueryException
field
- T1DO.T1Y in the example aboveqb
- subQuery in the example above
author Jay Gunter
QueryException
public void addWhereIn(java.lang.Object val, java.lang.Object[] values) throws QueryException
val
- : PersonDO.Name & "Tom" in the example abovevalues
- : array of Objects containing values for IN clause
any of previous Object types can be RDBColumn, String,
java.sql.Date, java.sql.Timestamp, BigDecimal, Integer,
Long, Float, Double, Boolean
QueryException
- if values is null or empty
author Jay Gunterpublic void addWhereNotIn(java.lang.Object val, java.lang.Object[] values) throws QueryException
val
- values
-
QueryException
- if values is null or empty
author Jay Gunterpublic java.lang.String getSQLwithParms()
public java.lang.String getSQL()
public int applyParameters(java.sql.PreparedStatement ps, int paramCount) throws java.sql.SQLException
java.sql.SQLException
public void setMaxRows(int x)
public java.sql.PreparedStatement getStatement()
getStatement
in interface ExtendedQuery
public java.sql.PreparedStatement getStatement(DBConnection conn) throws java.sql.SQLException
java.sql.SQLException
public java.sql.ResultSet executeQuery(DBConnection conn) throws java.sql.SQLException
executeQuery
in interface Query
conn
- The DBConnection object to use for the search.
java.sql.SQLException
public void reset()
public void close()
public void setDeleteQuery()
public void addUpdateColumn(RDBColumn column, java.lang.Object value)
column
- The column (field) name to set.value
- The new value to set for.public void addUpdateColumn(java.lang.String column, java.lang.Object value)
column
- The column (field) name to set.value
- The new value to set for.public void addUpdateSQL(RDBColumn column, java.lang.String sqlValue)
public void addUpdateSQL(java.lang.String column, java.lang.String sqlValue)
public int executeUpdate() throws java.sql.SQLException
java.sql.SQLException
- if a database access error occurspublic int executeUpdate(DBConnection dbConn) throws java.sql.SQLException
java.sql.SQLException
public void setStringMatchDetails(java.lang.String match_keyword, java.lang.String wildcard)
match_keyword
- Whether the DB can use "MATCHES" or "LIKE"wildcard
- The wildcard character for string searchespublic void setStringMatchDetails(java.lang.String match_keyword, java.lang.String multi_wildcard, java.lang.String single_wildcard, java.lang.String single_wildcard_escape, java.lang.String multi_wildcard_escape, java.lang.String wildcard_escape_clause)
match_keyword
- The SQL keyword "matches" or "like"multi_wildcard
- The SQL string char for 0 to n characters ("*" or "%")single_wildcard
- The SQL string char for 1 character ("?" or "_")single_wildcard_escape
- The SQL string char for escaping a single wildcardmulti_wildcard_escape
- The SQL string char for escaping a multi wildcardwildcard_escape_clause
- The SQL string for defining escape charcterspublic void setUserStringWildcard(java.lang.String user_wildcard)
user_wildcard
- The user wildcard (normally "*")public void setUserStringSingleWildcard(java.lang.String user_single_wildcard)
user_single_wildcard
- The user single wildcard (normally "?")public void setUserStringSingleWildcardEscape(java.lang.String user_single_wildcard_escape)
user_single_wildcard_escape
- The user single wildcard escape char (normally "?")public void setUserStringWildcardEscape(java.lang.String user_wildcard_escape)
user_wildcard_escape
- The user wildcard escape char (normally "?")public java.lang.String getUserStringWildcard()
public java.lang.String getUserStringSingleWildcard()
public java.lang.String getUserStringSingleWildcardEscape()
public java.lang.String getUserStringWildcardEscape()
public void setUserStringAppendWildcard(boolean user_append_wildcard)
user_append_wildcard
- Whether Querybuilder should append a wildcard at the end of match-stringspublic void setUserStringTrim(boolean user_trim_string)
user_trim_string
- boolean user_trim_string Whether Querybuilder should trim the match stringspublic boolean getUserStringAppendWildcard()
public boolean getUserStringTrim()
public void addWhereClause(java.lang.String column, java.sql.Date date, java.lang.String cmp_op)
column
- The column (field) name to use as a search constraint.date
- Date.cmp_op
- The comparison operator to use: QueryBuilder.EQUAL, ...public void addWhereClause(java.lang.String column, java.sql.Timestamp date, java.lang.String cmp_op)
public void addWhereClause(java.lang.String column, java.sql.Time date, java.lang.String cmp_op)
public void addOrderByColumn(java.lang.String column, java.lang.String direction)
column
- The column to order bydirection
- ASCENDING or DESCENDING orderpublic void addOrderByColumn(RDBColumn column, java.lang.String direction)
column
- The column to order bydirection
- ASCENDING or DESCENDING orderpublic void setDatabaseVendor(java.lang.String vendor) throws DatabaseManagerException
DatabaseManagerException
public void setDatabaseVendor()
public void setDatabaseName(java.lang.String dbName)
dbName
- Database namepublic java.lang.String getDatabaseName()
public static boolean compare(double a, double b, java.lang.String cmp_op) throws QueryException
a
- the DO member valueb
- the value to compare against
QueryException
- if cmp_op is not a valid comparison operator.author Jay Gunter
public static boolean compare(boolean a, boolean b, java.lang.String cmp_op) throws QueryException
a
- the DO member valueb
- the value to compare against
QueryException
- if cmp_op is not a valid comparison operator.author Jay Gunter
public static boolean compare(double a, java.lang.Object b, java.lang.String cmp_op) throws QueryException
a
- the DO member valueb
- the value to compare against
QueryException
- if cmp_op is not a valid comparison operator.compare( Object a, Object b, String cmp_op )
public static boolean compare(boolean a, java.lang.Object b, java.lang.String cmp_op) throws QueryException
a
- the DO member valueb
- the value to compare against
QueryException
- if cmp_op is not a valid comparison operator.compare( Object a, Object b, String cmp_op )
public static boolean compare(java.lang.Object a, java.lang.Object b, java.lang.String cmp_op) throws QueryException
a
- the DO member valueb
- the value to compare against
QueryException
- if cmp_op is not a valid comparison operator.
author Jay Gunterpublic void setSelectClause(java.lang.String newClause)
newClause
- The new select clause stringpublic java.lang.String getSelectClause()
public void setCurrentFetchSize(int iCurrentFetchSizeIn)
iCurrentFetchSizeIn
- integer representing the fetchsize for this querypublic int getCurrentFetchSize()
public static void setDefaultFetchSize(int iDefaultFetchSizeIn)
iDefaultFetchSizeIn
- integer representing the fetchsize for this querypublic static int getDefaultFetchSize()
public static void setDefaultQueryTimeout(int iQueryTimeout)
iQueryTimeout
- integer representing the queryTimeout for this querypublic static int getDefaultQueryTimeout()
public int getCurrentQueryTimeout()
public void setCurrentQueryTimeout(int iQueryTimeoutIn)
iQueryTimeoutIn
- new value to set for queryTimeoutpublic int getMaxExecuteTime()
public void setMaxExecuteTime(int maxExeTime)
maxExeTime
- new value to set maxExecuteTimepublic static java.lang.String getCountX()
public void setCursorType(int resultSetType, int resultSetConcurrency)
resultSetType
- a result set type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE.resultSetConcurrency
- a concurrency type; one of ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE.public void _helperSetMultiTableJoin(boolean isMultiTableJoin)
isMultiTableJoin
- new value to set multiTableJoin
|
DODS 7.3 API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |