|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface QueryExpression
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 |
---|
static final java.lang.String OpEquals
static final java.lang.String OpNotEquals
static final java.lang.String OpGreater
static final java.lang.String OpGreaterEquals
static final java.lang.String OpLess
static final java.lang.String OpLessEquals
static final java.lang.String OpLike
static final java.lang.String OpNotLike
static final java.lang.String OpBetween
OpBetweenAnd
,
Constant Field Valuesstatic final java.lang.String OpBetweenAnd
OpBetween
,
Constant Field ValuesMethod Detail |
---|
void addColumn(java.lang.String tableName, java.lang.String columnName)
tableName
- The table namecolumnName
- The column namevoid addSelect(java.lang.String selectClause)
selectClause
- The entire sql select clause without the word SELECTvoid setDistinct(boolean distinct)
distinct
- If the query should include DISTINCT in the SQL select.void addTable(java.lang.String tableName)
tableName
- The name of the table to add to the select clausevoid 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 itvoid addParameter(java.lang.String tableName, java.lang.String columnName, java.lang.String condOp)
tableName
- The table namecolumnName
- The column namecondOp
- The conditional operationvoid 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 valuejava.lang.String encodeColumn(java.lang.String tableName, java.lang.String columnName)
tableName
- The table namecolumnName
- The column namevoid addWhereClause(java.lang.String whereClause)
whereClause
- The WHERE clause to add (without the word WHERE).void addOrderClause(java.lang.String orderClause)
orderClause
- The ORDER BY clause to add (without the words
ORDER BY).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.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.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 sidevoid 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 sidevoid 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 sidevoid 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 sidevoid 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 sidevoid 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 sidevoid 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)
java.lang.String getStatement(boolean writeLock) throws QueryException
writeLock
- True if a write lock is required
QueryException
- The query cannot be constructed for
this enginejava.lang.Object clone()
boolean isLimitClauseSupported()
boolean isOffsetClauseSupported()
void setDbMetaInfo(DbMetaInfo dbInfo)
dbInfo
- DbMetaInfo instance
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |