|
||||||||||
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, parameterIndex, query, queryMetadata, values |
Constructor Summary | |
---|---|
SelectTranslator()
|
Method Summary | |
---|---|
protected void |
appendLimitAndOffsetClauses(StringBuilder buffer)
Handles appending optional limit and offset clauses. |
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, getPathAliases, getQuery, getQueryMetadata, getRootDbEntity, getRootEntity, getRootInheritanceTree, initStatement, setAdapter, setConnection, setEntityResolver, 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 QueryAssembler
Exception
protected void appendLimitAndOffsetClauses(StringBuilder buffer)
public String getCurrentAlias()
QueryAssembler
getCurrentAlias
in class QueryAssembler
public 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 QueryAssembler
public boolean supportsTableAliases()
supportsTableAliases
in class QueryAssembler
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |