org.apache.cayenne.access.trans

## Class JoinStack

- java.lang.Object
- - org.apache.cayenne.access.trans.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 and Description
    --- | ---
    `protected JoinTreeNode` | `rootNode`
    `protected JoinTreeNode` | `topNode`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `JoinStack(DbAdapter dbAdapter, DataMap dataMap, QueryAssembler assembler)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `appendJoins(Appendable out)` Appends all configured joins to the provided output object.
    `protected void` | `appendJoinSubtree(Appendable out, JoinTreeNode node)`
    `protected void` | `appendQualifier(Appendable out, boolean firstQualifierElement)` Append join information to the qualifier - the part after "WHERE".
    `protected String` | `newAlias()`
    `protected int` | `size()` Returns the number of configured joins.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### rootNode

          protected JoinTreeNode rootNode

    - #### topNode

          protected JoinTreeNode topNode

  - ### Constructor Detail

    - #### JoinStack

          protected JoinStack(DbAdapter dbAdapter,
                              DataMap dataMap,
                              QueryAssembler assembler)

  - ### Method Detail

    - #### size

          protected int size()

      Returns the number of configured joins.

    - #### appendJoins

          protected void appendJoins(Appendable out)
                              throws IOException

      Appends all configured joins to the provided output object.
      Throws:
        `IOException`

    - #### appendJoinSubtree

          protected void appendJoinSubtree(Appendable out,
                                           JoinTreeNode node)
                                    throws IOException

      Throws:
        `IOException`

    - #### appendQualifier

          protected void appendQualifier(Appendable out,
                                         boolean firstQualifierElement)
                                  throws IOException

      Append join information to the qualifier - the part after "WHERE".
      Throws:
        `IOException`

    - #### newAlias

          protected String newAlias()

Copyright © 2001–2017 Apache Cayenne. All rights reserved.