|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Defines the interface for a query expression. The query expression object is used to construct queries including parameters, conditions and joins, and generates the SQL statement for the underlying database.
A query experession object is created for each unique query, populated with the query parameters and the SQL statement is obtained from it at the proper time.
A query expression is generated from PersistenceFactory
,
see this interface for information on how to configure
it. The operators defined in this interface are part of
SQL 92 and the supported OQL syntax and are expected to
be supported by all query expressions.
Field Summary | |
static java.lang.String |
OpBetween
Between operator. |
static java.lang.String |
OpBetweenAnd
Between and operator. |
static java.lang.String |
OpEquals
Equality operator. |
static java.lang.String |
OpGreater
Greater then operator. |
static java.lang.String |
OpGreaterEquals
Greater then or equals operator. |
static java.lang.String |
OpLess
Less then operator. |
static java.lang.String |
OpLessEquals
Less then or equals operator. |
static java.lang.String |
OpLike
Like operator. |
static java.lang.String |
OpNotEquals
Inequality operator. |
static java.lang.String |
OpNotLike
Not like operator. |
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 limitClause)
Adds an limit clause. |
void |
addOffsetClause(java.lang.String offsetClause)
Adds an offset clause. |
void |
addOrderClause(java.lang.String orderClause)
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 whereClause)
Adds a where clause. |
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 |
java.lang.String |
getStatement(boolean writeLock)
Return the query expression as an SQL statement. |
boolean |
isLimitClauseSupported()
Indicates whether a RDBMS supports LIMIT clauses. |
boolean |
isOffsetClauseSupported()
Indicates whether a RDBMS supports OFFSET clauses. |
void |
setDbMetaInfo(DbMetaInfo dbInfo)
Store database meta information |
void |
setDistinct(boolean distinct)
Set the query to be distinct. |
Field Detail |
public static final java.lang.String OpEquals
public static final java.lang.String OpNotEquals
public static final java.lang.String OpGreater
public static final java.lang.String OpGreaterEquals
public static final java.lang.String OpLess
public static final java.lang.String OpLessEquals
public static final java.lang.String OpLike
public static final java.lang.String OpNotLike
public static final java.lang.String OpBetween
OpBetweenAnd
,
Constant Field Valuespublic static final java.lang.String OpBetweenAnd
OpBetween
,
Constant Field ValuesMethod Detail |
public void addColumn(java.lang.String tableName, java.lang.String columnName)
tableName
- The table namecolumnName
- The column namepublic void addSelect(java.lang.String selectClause)
selectClause
- The entire sql select clause without the word SELECTpublic void setDistinct(boolean distinct)
distinct
- If the query should include DISTINCT in the SQL select.public void addTable(java.lang.String tableName)
tableName
- The name of the table to add to the select clausepublic void addTable(java.lang.String tableName, java.lang.String tableAlias)
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)
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)
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)
tableName
- The table namecolumnName
- The column namepublic void addWhereClause(java.lang.String whereClause)
whereClause
- The WHERE clause to add (without the word WHERE).public void addOrderClause(java.lang.String orderClause)
orderClause
- The ORDER BY clause to add (without the words
ORDER BY).public void addLimitClause(java.lang.String limitClause) throws SyntaxNotSupportedException
limitClause
- 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 offsetClause) throws SyntaxNotSupportedException
offsetClause
- The OFFSET clause to add (without the word OFFSET).
SyntaxNotSupportedException
- If the OFFSET clause is not supported by the RDBMS.public void addInnerJoin(java.lang.String leftTable, java.lang.String leftColumn, java.lang.String rightTable, java.lang.String rightColumn)
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)
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 addOuterJoin(java.lang.String leftTable, java.lang.String leftColumn, java.lang.String rightTable, java.lang.String rightColumn)
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)
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 addInnerJoin(java.lang.String leftTable, java.lang.String[] leftColumn, java.lang.String rightTable, java.lang.String[] rightColumn)
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)
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)
public void addOuterJoin(java.lang.String leftTable, java.lang.String[] leftColumn, java.lang.String rightTable, java.lang.String[] rightColumn, java.lang.String rightTableAlias)
public java.lang.String getStatement(boolean writeLock) throws QueryException
writeLock
- True if a write lock is required
QueryException
- The query cannot be constructed for
this enginepublic java.lang.Object clone()
public boolean isLimitClauseSupported()
public boolean isOffsetClauseSupported()
public void setDbMetaInfo(DbMetaInfo dbInfo)
dbInfo
- DbMetaInfo instance
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |