Package org.optaplanner.core.impl.score.stream.bavet.tri

## Class BavetJoinTriNode<A,​B,​C>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractNode
  - - org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriNode<A,​B,​C>
    - - org.optaplanner.core.impl.score.stream.bavet.tri.BavetJoinTriNode<A,​B,​C>

- All Implemented Interfaces:
    `BavetJoinNode`, `BavetNode`

      public final class BavetJoinTriNode<A,​B,​C>
      extends BavetAbstractTriNode<A,​B,​C>
      implements BavetJoinNode

- - ### Field Summary

    - ### Fields inherited from class org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractNode

      `nodeIndex, session`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BavetJoinTriNode​(BavetConstraintSession session, int nodeIndex, BavetJoinBridgeBiNode<A,​B> leftParentNode, BavetJoinBridgeUniNode<C> rightParentNode)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addChildNode​(BavetAbstractTriNode<A,​B,​C> childNode)` |
    `BavetJoinTriTuple<A,​B,​C>` | `createTuple​(BavetJoinBridgeBiTuple<A,​B> abTuple, BavetJoinBridgeUniTuple<C> cTuple)` |
    `BavetJoinTriTuple<A,​B,​C>` | `createTuple​(BavetAbstractTriTuple<A,​B,​C> parentTuple)` |
    `List<BavetAbstractTriNode<A,​B,​C>>` | `getChildNodeList()` |
    `BavetIndex<BavetJoinBridgeBiTuple<A,​B>>` | `getLeftIndex()` |
    `BavetIndex<BavetJoinBridgeUniTuple<C>>` | `getRightIndex()` |
    `void` | `refresh​(BavetAbstractTuple uncastTuple)` |
    `void` | `refreshChildTuplesLeft​(BavetJoinBridgeBiTuple<A,​B> leftParentTuple)` |
    `void` | `refreshChildTuplesRight​(BavetJoinBridgeUniTuple<C> rightParentTuple)` |
    `String` | `toString()` |

    - ### Methods inherited from class org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractNode

      `getNodeIndex`

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

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

- - ### Constructor Detail

    - #### BavetJoinTriNode

          public BavetJoinTriNode​(BavetConstraintSession session,
                                  int nodeIndex,
                                  BavetJoinBridgeBiNode<A,​B> leftParentNode,
                                  BavetJoinBridgeUniNode<C> rightParentNode)

  - ### Method Detail

    - #### addChildNode

          public void addChildNode​(BavetAbstractTriNode<A,​B,​C> childNode)

      Overrides:
        `addChildNode` in class `BavetAbstractTriNode<A,​B,​C>`

    - #### getChildNodeList

          public List<BavetAbstractTriNode<A,​B,​C>> getChildNodeList()

      Overrides:
        `getChildNodeList` in class `BavetAbstractTriNode<A,​B,​C>`

    - #### createTuple

          public BavetJoinTriTuple<A,​B,​C> createTuple​(BavetAbstractTriTuple<A,​B,​C> parentTuple)

      Specified by:
        `createTuple` in class `BavetAbstractTriNode<A,​B,​C>`

    - #### createTuple

          public BavetJoinTriTuple<A,​B,​C> createTuple​(BavetJoinBridgeBiTuple<A,​B> abTuple,
                                                                  BavetJoinBridgeUniTuple<C> cTuple)

    - #### refresh

          public void refresh​(BavetAbstractTuple uncastTuple)

      Specified by:
        `refresh` in class `BavetAbstractNode`

    - #### refreshChildTuplesLeft

          public void refreshChildTuplesLeft​(BavetJoinBridgeBiTuple<A,​B> leftParentTuple)

    - #### refreshChildTuplesRight

          public void refreshChildTuplesRight​(BavetJoinBridgeUniTuple<C> rightParentTuple)

    - #### getLeftIndex

          public BavetIndex<BavetJoinBridgeBiTuple<A,​B>> getLeftIndex()

    - #### getRightIndex

          public BavetIndex<BavetJoinBridgeUniTuple<C>> getRightIndex()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`