|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.castor.jdo.drivers.JDBCQueryExpression
Nested Class Summary | |
---|---|
(package private) static class |
JDBCQueryExpression.Join
|
Field Summary | |
---|---|
protected java.util.Vector |
_cols
|
protected java.util.Vector |
_conds
|
protected boolean |
_distinct
|
protected PersistenceFactory |
_factory
|
protected java.util.Vector |
_joins
|
protected java.lang.String |
_limit
|
protected java.lang.String |
_order
|
protected java.lang.String |
_select
|
protected java.util.Hashtable |
_tables
|
protected java.lang.String |
_where
|
Fields inherited from interface org.exolab.castor.persist.spi.QueryExpression |
---|
OpBetween, OpBetweenAnd, OpEquals, OpGreater, OpGreaterEquals, OpLess, OpLessEquals, OpLike, OpNotEquals, OpNotLike |
Constructor Summary | |
---|---|
JDBCQueryExpression(PersistenceFactory factory)
|
Method Summary | |
---|---|
void |
addColumn(java.lang.String tableName,
java.lang.String columnName)
Add a column used in the query. |
void |
addCondition(java.lang.String tableName,
java.lang.String columnName,
java.lang.String condOp,
java.lang.String value)
Add a condition. |
void |
addInnerJoin(java.lang.String leftTable,
java.lang.String[] leftColumn,
java.lang.String rightTable,
java.lang.String[] rightColumn)
Add an inner join |
void |
addInnerJoin(java.lang.String leftTable,
java.lang.String[] leftColumn,
java.lang.String leftTableAlias,
java.lang.String rightTable,
java.lang.String[] rightColumn,
java.lang.String rightTableAlias)
Add an inner join with an aliases for the tables |
void |
addInnerJoin(java.lang.String leftTable,
java.lang.String leftColumn,
java.lang.String rightTable,
java.lang.String rightColumn)
Add an inner join. |
void |
addInnerJoin(java.lang.String leftTable,
java.lang.String leftColumn,
java.lang.String leftTableAlias,
java.lang.String rightTable,
java.lang.String rightColumn,
java.lang.String rightTableAlias)
Add an inner join with an aliases for the tables |
void |
addLimitClause(java.lang.String limit)
Adds an limit clause. |
void |
addOrderClause(java.lang.String order)
Adds an order by clause. |
void |
addOuterJoin(java.lang.String leftTable,
java.lang.String[] leftColumn,
java.lang.String rightTable,
java.lang.String[] rightColumn)
|
void |
addOuterJoin(java.lang.String leftTable,
java.lang.String[] leftColumn,
java.lang.String rightTable,
java.lang.String[] rightColumn,
java.lang.String rightTableAlias)
|
void |
addOuterJoin(java.lang.String leftTable,
java.lang.String leftColumn,
java.lang.String rightTable,
java.lang.String rightColumn)
Add an outer join. |
void |
addOuterJoin(java.lang.String leftTable,
java.lang.String leftColumn,
java.lang.String rightTable,
java.lang.String rightColumn,
java.lang.String rightTableAlias)
Add an outer join. |
void |
addParameter(java.lang.String tableName,
java.lang.String columnName,
java.lang.String condOp)
Add a query paramater. |
void |
addSelect(java.lang.String selectClause)
Add an entire select clause to the query with one call. |
void |
addTable(java.lang.String tableName)
Add a table to the from clause. |
void |
addTable(java.lang.String tableName,
java.lang.String tableAlias)
Add a table with an alias to the from clause. |
void |
addWhereClause(java.lang.String where)
Adds a where clause. |
protected boolean |
addWhereClause(java.lang.StringBuffer sql,
boolean first)
|
java.lang.Object |
clone()
Returns a clone of the query expression that can be further modified. |
java.lang.String |
encodeColumn(java.lang.String tableName,
java.lang.String columnName)
Encode a TableColumn for use in expressions |
protected java.lang.String |
getColumnList()
|
protected java.lang.StringBuffer |
getStandardStatement(boolean lock,
boolean oj)
Helper method. |
java.lang.String |
getStatement(boolean lock)
This should work for JDBC drivers with a full support of JDBC specification. |
void |
setDistinct(boolean distinct)
Set the query to be distinct. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected java.util.Hashtable _tables
protected java.util.Vector _cols
protected java.util.Vector _conds
protected java.util.Vector _joins
protected java.lang.String _select
protected java.lang.String _where
protected java.lang.String _order
protected java.lang.String _limit
protected boolean _distinct
protected PersistenceFactory _factory
Constructor Detail |
public JDBCQueryExpression(PersistenceFactory factory)
Method Detail |
public void setDistinct(boolean distinct)
QueryExpression
setDistinct
in interface QueryExpression
distinct
- If the query should include DISTINCT in the SQL select.public void addColumn(java.lang.String tableName, java.lang.String columnName)
QueryExpression
addColumn
in interface QueryExpression
tableName
- The table namecolumnName
- The column namepublic void addTable(java.lang.String tableName)
QueryExpression
addTable
in interface QueryExpression
tableName
- The name of the table to add to the select clausepublic void addTable(java.lang.String tableName, java.lang.String tableAlias)
QueryExpression
addTable
in interface QueryExpression
tableName
- The name of the table to add to the select clausetableAlias
- The name of the alias under which the where clauses will access itpublic void addParameter(java.lang.String tableName, java.lang.String columnName, java.lang.String condOp)
QueryExpression
addParameter
in interface QueryExpression
tableName
- The table namecolumnName
- The column namecondOp
- The conditional operationpublic void addCondition(java.lang.String tableName, java.lang.String columnName, java.lang.String condOp, java.lang.String value)
QueryExpression
addCondition
in interface QueryExpression
tableName
- The table namecolumnName
- The column namecondOp
- The conditional operationvalue
- The conditional valuepublic java.lang.String encodeColumn(java.lang.String tableName, java.lang.String columnName)
QueryExpression
encodeColumn
in interface QueryExpression
tableName
- The table namecolumnName
- The column namepublic void addInnerJoin(java.lang.String leftTable, java.lang.String leftColumn, java.lang.String rightTable, java.lang.String rightColumn)
QueryExpression
addInnerJoin
in interface QueryExpression
leftTable
- The table name on the left sideleftColumn
- The column name on the left siderightTable
- The table name on the right siderightColumn
- The column name on the right sidepublic void addInnerJoin(java.lang.String leftTable, java.lang.String leftColumn, java.lang.String leftTableAlias, java.lang.String rightTable, java.lang.String rightColumn, java.lang.String rightTableAlias)
QueryExpression
addInnerJoin
in interface QueryExpression
leftTable
- The table name on the left sideleftColumn
- The column name on the left sideleftTableAlias
- The alias name to use for the table on the left siderightTable
- The table name on the right siderightColumn
- The column name on the right siderightTableAlias
- The alias name to use for the table on the right sidepublic void addInnerJoin(java.lang.String leftTable, java.lang.String[] leftColumn, java.lang.String rightTable, java.lang.String[] rightColumn)
QueryExpression
addInnerJoin
in interface QueryExpression
leftTable
- The table name on the left sideleftColumn
- The column names on the left siderightTable
- The table name on the right siderightColumn
- The column names on the right sidepublic void addInnerJoin(java.lang.String leftTable, java.lang.String[] leftColumn, java.lang.String leftTableAlias, java.lang.String rightTable, java.lang.String[] rightColumn, java.lang.String rightTableAlias)
QueryExpression
addInnerJoin
in interface QueryExpression
leftTable
- The table name on the left sideleftColumn
- The column names on the left sideleftTableAlias
- The alias name to use for the table on the left siderightTable
- The table name on the right siderightColumn
- The column names on the right siderightTableAlias
- The alias name to use for the table on the right sidepublic void addOuterJoin(java.lang.String leftTable, java.lang.String leftColumn, java.lang.String rightTable, java.lang.String rightColumn)
QueryExpression
addOuterJoin
in interface QueryExpression
leftTable
- The table name on the left sideleftColumn
- The column name on the left siderightTable
- The table name on the right siderightColumn
- The column name on the right sidepublic void addOuterJoin(java.lang.String leftTable, java.lang.String leftColumn, java.lang.String rightTable, java.lang.String rightColumn, java.lang.String rightTableAlias)
QueryExpression
addOuterJoin
in interface QueryExpression
leftTable
- The table name on the left sideleftColumn
- The column name on the left siderightTable
- The table name on the right siderightColumn
- The column name on the right siderightTableAlias
- The alias name to use for the table on the right sidepublic void addOuterJoin(java.lang.String leftTable, java.lang.String[] leftColumn, java.lang.String rightTable, java.lang.String[] rightColumn)
addOuterJoin
in interface QueryExpression
public void addOuterJoin(java.lang.String leftTable, java.lang.String[] leftColumn, java.lang.String rightTable, java.lang.String[] rightColumn, java.lang.String rightTableAlias)
addOuterJoin
in interface QueryExpression
public void addSelect(java.lang.String selectClause)
QueryExpression
addSelect
in interface QueryExpression
selectClause
- The entire sql select clause without the word SELECTpublic void addWhereClause(java.lang.String where)
QueryExpression
addWhereClause
in interface QueryExpression
where
- The WHERE clause to add (without the word WHERE).public void addOrderClause(java.lang.String order)
QueryExpression
addOrderClause
in interface QueryExpression
order
- The ORDER BY clause to add (without the words
ORDER BY).public void addLimitClause(java.lang.String limit)
QueryExpression
addLimitClause
in interface QueryExpression
limit
- The LIMIT clause to add (without the word
LIMIT).protected java.lang.String getColumnList()
protected boolean addWhereClause(java.lang.StringBuffer sql, boolean first)
public java.lang.String getStatement(boolean lock)
getStatement
in interface QueryExpression
lock
- True if a write lock is required
protected java.lang.StringBuffer getStandardStatement(boolean lock, boolean oj)
lock
- whether to lock selected tablesoj
- true in the first case above, false in the second case.public java.lang.String toString()
public java.lang.Object clone()
QueryExpression
clone
in interface QueryExpression
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |