|
||||||||||
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(java.lang.StringBuilder buffer)
Handles appending optional limit and offset clauses. |
protected void |
appendSelectColumns(java.lang.StringBuilder buffer,
java.util.List<java.lang.String> selectColumnExpList)
|
protected java.util.List<ColumnDescriptor> |
buildResultColumns()
|
protected JoinStack |
createJoinStack()
|
java.lang.String |
createSqlString()
Returns query translated to SQL. |
void |
dbRelationshipAdded(DbRelationship relationship,
JoinType joinType,
java.lang.String joinSplitAlias)
Appends a join with given semantics to the query. |
java.util.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. |
java.lang.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 java.lang.String createSqlString() throws java.lang.Exception
createSqlString
in class QueryAssembler
java.lang.Exception
protected void appendSelectColumns(java.lang.StringBuilder buffer, java.util.List<java.lang.String> selectColumnExpList)
protected void appendLimitAndOffsetClauses(java.lang.StringBuilder buffer)
public java.lang.String getCurrentAlias()
QueryAssembler
getCurrentAlias
in class QueryAssembler
public ColumnDescriptor[] getResultColumns()
public java.util.Map<ObjAttribute,ColumnDescriptor> getAttributeOverrides()
public boolean isSuppressingDistinct()
protected java.util.List<ColumnDescriptor> buildResultColumns()
public void resetJoinStack()
QueryAssembler
resetJoinStack
in class QueryAssembler
public void dbRelationshipAdded(DbRelationship relationship, JoinType joinType, java.lang.String joinSplitAlias)
QueryAssembler
dbRelationshipAdded
in class QueryAssembler
public boolean supportsTableAliases()
supportsTableAliases
in class QueryAssembler
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |