Class JoinStack
- java.lang.Object
-
- org.apache.cayenne.access.translator.select.JoinStack
-
public class JoinStack extends Object
Encapsulates join reuse/split logic used in SelectQuery processing. All expression path's that exist in the query (in the qualifier, etc.) are processed to produce a combined join tree.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description protected JoinTreeNoderootNodeprotected JoinTreeNodetopNode
-
Constructor Summary
Constructors Modifier Constructor Description protectedJoinStack(DbAdapter dbAdapter, QueryAssembler assembler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidappendJoins(StringBuilder out)Appends all configured joins to the provided output object.protected voidappendJoinSubtree(StringBuilder out, JoinTreeNode node)protected voidappendQualifier(StringBuilder out, boolean firstQualifierElement)Append join information to the qualifier - the part after "WHERE".protected StringnewAlias()protected intsize()Returns the number of configured joins.
-
-
-
Field Detail
-
rootNode
protected JoinTreeNode rootNode
-
topNode
protected JoinTreeNode topNode
-
-
Constructor Detail
-
JoinStack
protected JoinStack(DbAdapter dbAdapter, QueryAssembler assembler)
-
-
Method Detail
-
size
protected int size()
Returns the number of configured joins.
-
appendJoins
protected void appendJoins(StringBuilder out)
Appends all configured joins to the provided output object.
-
appendJoinSubtree
protected void appendJoinSubtree(StringBuilder out, JoinTreeNode node)
-
appendQualifier
protected void appendQualifier(StringBuilder out, boolean firstQualifierElement)
Append join information to the qualifier - the part after "WHERE".
-
newAlias
protected String newAlias()
-
-