|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.exolab.castor.jdo.drivers.JDBCQueryExpression
public class JDBCQueryExpression
| Nested Class Summary | |
|---|---|
(package private) static class |
JDBCQueryExpression.Join
|
| Field Summary | |
|---|---|
protected java.util.Vector |
_cols
|
protected java.util.Vector |
_conds
|
protected DbMetaInfo |
_dbInfo
MetaInfo as acquired from the RDBMS |
protected boolean |
_distinct
|
protected PersistenceFactory |
_factory
|
protected java.util.Vector |
_joins
|
protected java.lang.String |
_limit
|
protected java.lang.String |
_offset
|
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 |
addOffsetClause(java.lang.String offset)
Adds an offset 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)
Creates a SQL statement. |
boolean |
isLimitClauseSupported()
Provides a default implementation of QueryExpression.isLimitClauseSupported(). |
boolean |
isOffsetClauseSupported()
Provides a default implementation of QueryExpression.isOffsetClauseSupported(). |
void |
setDbMetaInfo(DbMetaInfo dbInfo)
Store database meta information |
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 java.lang.String _offset
protected boolean _distinct
protected PersistenceFactory _factory
protected DbMetaInfo _dbInfo
| Constructor Detail |
|---|
public JDBCQueryExpression(PersistenceFactory factory)
| Method Detail |
|---|
public void setDbMetaInfo(DbMetaInfo dbInfo)
setDbMetaInfo in interface QueryExpressiondbInfo - DbMetaInfo instancepublic void setDistinct(boolean distinct)
QueryExpression
setDistinct in interface QueryExpressiondistinct - 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 QueryExpressiontableName - The table namecolumnName - The column namepublic void addTable(java.lang.String tableName)
QueryExpression
addTable in interface QueryExpressiontableName - The name of the table to add to the select clause
public void addTable(java.lang.String tableName,
java.lang.String tableAlias)
QueryExpression
addTable in interface QueryExpressiontableName - The name of the table to add to the select clausetableAlias - The name of the alias under which the where clauses will access it
public void addParameter(java.lang.String tableName,
java.lang.String columnName,
java.lang.String condOp)
QueryExpression
addParameter in interface QueryExpressiontableName - The table namecolumnName - The column namecondOp - The conditional operation
public void addCondition(java.lang.String tableName,
java.lang.String columnName,
java.lang.String condOp,
java.lang.String value)
QueryExpression
addCondition in interface QueryExpressiontableName - The table namecolumnName - The column namecondOp - The conditional operationvalue - The conditional value
public java.lang.String encodeColumn(java.lang.String tableName,
java.lang.String columnName)
QueryExpression
encodeColumn in interface QueryExpressiontableName - The table namecolumnName - The column name
public void addInnerJoin(java.lang.String leftTable,
java.lang.String leftColumn,
java.lang.String rightTable,
java.lang.String rightColumn)
QueryExpression
addInnerJoin in interface QueryExpressionleftTable - 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 side
public 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 QueryExpressionleftTable - 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 side
public void addInnerJoin(java.lang.String leftTable,
java.lang.String[] leftColumn,
java.lang.String rightTable,
java.lang.String[] rightColumn)
QueryExpression
addInnerJoin in interface QueryExpressionleftTable - 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 side
public 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 QueryExpressionleftTable - 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 side
public void addOuterJoin(java.lang.String leftTable,
java.lang.String leftColumn,
java.lang.String rightTable,
java.lang.String rightColumn)
QueryExpression
addOuterJoin in interface QueryExpressionleftTable - 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 side
public 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 QueryExpressionleftTable - 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 side
public 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 QueryExpressionpublic void addSelect(java.lang.String selectClause)
QueryExpression
addSelect in interface QueryExpressionselectClause - The entire sql select clause without the word SELECTpublic void addWhereClause(java.lang.String where)
QueryExpression
addWhereClause in interface QueryExpressionwhere - The WHERE clause to add (without the word WHERE).public void addOrderClause(java.lang.String order)
QueryExpression
addOrderClause in interface QueryExpressionorder - The ORDER BY clause to add (without the words
ORDER BY).
public void addLimitClause(java.lang.String limit)
throws SyntaxNotSupportedException
QueryExpression
addLimitClause in interface QueryExpressionlimit - The LIMIT clause to add (without the word LIMIT).
SyntaxNotSupportedException - If the LIMIT clause is not supported by the RDBMS.
public void addOffsetClause(java.lang.String offset)
throws SyntaxNotSupportedException
QueryExpression
addOffsetClause in interface QueryExpressionoffset - The OFFSET clause to add (without the word OFFSET).
SyntaxNotSupportedException - If the OFFSET clause is not supported by the RDBMS.protected java.lang.String getColumnList()
protected boolean addWhereClause(java.lang.StringBuffer sql,
boolean first)
public java.lang.String getStatement(boolean lock)
throws SyntaxNotSupportedException
getStatement in interface QueryExpressionlock - True if a write lock is required
SyntaxNotSupportedException - If the RDBMS does not support a particular feature.
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()
toString in class java.lang.Objectpublic java.lang.Object clone()
QueryExpression
clone in interface QueryExpressionclone in class java.lang.Objectpublic boolean isLimitClauseSupported()
QueryExpression.isLimitClauseSupported().
isLimitClauseSupported in interface QueryExpressionQueryExpression.isLimitClauseSupported()public boolean isOffsetClauseSupported()
QueryExpression.isOffsetClauseSupported().
isOffsetClauseSupported in interface QueryExpressionQueryExpression.isOffsetClauseSupported()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||