Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.lutris.dods.builder.generator.query
Class QueryBuilder  view QueryBuilder download QueryBuilder.java

java.lang.Object
  extended bycom.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

	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

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

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

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

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:
next in interface com.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)