|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.cayenne.access.trans.QueryAssembler
org.apache.cayenne.access.trans.SelectTranslator
public class SelectTranslator
A builder of JDBC PreparedStatements based on Cayenne SelectQueries. Translates SelectQuery to parameterized SQL string and wraps it in a PreparedStatement. SelectTranslator is stateful and thread-unsafe.
| Field Summary | |
|---|---|
protected static int[] |
UNSUPPORTED_DISTINCT_TYPES
|
| Fields inherited from class org.apache.cayenne.access.trans.QueryAssembler |
|---|
adapter, attributes, connection, entityResolver, logger, parameterIndex, query, queryMetadata, values |
| Constructor Summary | |
|---|---|
SelectTranslator()
|
|
| Method Summary | |
|---|---|
protected void |
appendLimitAndOffsetClauses(StringBuilder buffer)
Handles appending optional limit and offset clauses. |
protected void |
appendSelectColumns(StringBuilder buffer,
List<String> selectColumnExpList)
|
protected List<ColumnDescriptor> |
buildResultColumns()
|
protected JoinStack |
createJoinStack()
|
String |
createSqlString()
Returns query translated to SQL. |
void |
dbRelationshipAdded(DbRelationship relationship,
JoinType joinType,
String joinSplitAlias)
Appends a join with given semantics to the query. |
Map<ObjAttribute,ColumnDescriptor> |
getAttributeOverrides()
Returns a map of ColumnDescriptors keyed by ObjAttribute for columns that may need to be reprocessed manually due to incompatible mappings along the inheritance hierarchy. |
String |
getCurrentAlias()
Returns an alias of the table which is currently at the top of the join stack. |
JoinStack |
getJoinStack()
|
ColumnDescriptor[] |
getResultColumns()
Returns a list of ColumnDescriptors for the query columns. |
boolean |
isSuppressingDistinct()
Returns true if SelectTranslator determined that a query requiring DISTINCT can't be run with DISTINCT keyword for internal reasons. |
protected static boolean |
isUnsupportedForDistinct(int type)
|
void |
resetJoinStack()
A callback invoked by a child qualifier or ordering processor allowing query assembler to reset its join stack. |
boolean |
supportsTableAliases()
Always returns true. |
| Methods inherited from class org.apache.cayenne.access.trans.QueryAssembler |
|---|
addToParamList, createStatement, getAdapter, getEntityResolver, getJdbcEventLogger, getPathAliases, getQuery, getQueryMetadata, getRootDbEntity, getRootEntity, initStatement, setAdapter, setConnection, setEntityResolver, setJdbcEventLogger, setQuery |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final int[] UNSUPPORTED_DISTINCT_TYPES
| Constructor Detail |
|---|
public SelectTranslator()
| Method Detail |
|---|
protected static boolean isUnsupportedForDistinct(int type)
public JoinStack getJoinStack()
protected JoinStack createJoinStack()
public String createSqlString()
throws Exception
createSqlString in class QueryAssemblerException
protected void appendSelectColumns(StringBuilder buffer,
List<String> selectColumnExpList)
protected void appendLimitAndOffsetClauses(StringBuilder buffer)
public String getCurrentAlias()
QueryAssembler
getCurrentAlias in class QueryAssemblerpublic ColumnDescriptor[] getResultColumns()
public Map<ObjAttribute,ColumnDescriptor> getAttributeOverrides()
public boolean isSuppressingDistinct()
protected List<ColumnDescriptor> buildResultColumns()
public void resetJoinStack()
QueryAssembler
resetJoinStack in class QueryAssembler
public void dbRelationshipAdded(DbRelationship relationship,
JoinType joinType,
String joinSplitAlias)
QueryAssembler
dbRelationshipAdded in class QueryAssemblerpublic boolean supportsTableAliases()
supportsTableAliases in class QueryAssembler
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||