|
|||||||||||
| 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 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
|
| Fields inherited from interface org.exolab.castor.persist.spi.QueryExpression |
OP_BETWEEN, OP_BETWEEN_AND, OP_EQUALS, OP_GREATER, OP_GREATER_EQUALS, OP_LESS, OP_LESS_EQUALS, OP_LIKE, OP_NOT_EQUALS, OP_NOT_LIKE |
| 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 _joins
protected java.lang.String _select
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 instance.public 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 name.columnName - 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 side.leftColumn - The column name on the left side.leftTableAlias - The alias name to use for the table on the left side.rightTable - The table name on the right side.rightColumn - The column name on the right side.rightTableAlias - 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
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()
public java.lang.Object clone()
QueryExpression
clone in interface QueryExpressionpublic 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 | ||||||||||