public interface QueryExpression
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.
| Modifier and Type | Field and Description |
|---|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
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 Valuesvoid 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 requiredQueryException - The query cannot be constructed for
this enginejava.lang.Object clone()
boolean isLimitClauseSupported()
boolean isOffsetClauseSupported()
void setDbMetaInfo(DbMetaInfo dbInfo)
dbInfo - DbMetaInfo instanceIntalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com