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

## Class BavetJoinBiNode<A,​B>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractNode
  - - org.optaplanner.core.impl.score.stream.bavet.bi.BavetAbstractBiNode<A,​B>
    - - org.optaplanner.core.impl.score.stream.bavet.bi.BavetJoinBiNode<A,​B>

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

      public final class BavetJoinBiNode<A,​B>
      extends BavetAbstractBiNode<A,​B>
      implements BavetJoinNode

- - ### Field Summary

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

      `nodeIndex, session`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addChildNode​(BavetAbstractBiNode<A,​B> childNode)` |
    `BavetJoinBiTuple<A,​B>` | `createTuple​(BavetAbstractBiTuple<A,​B> parentTuple)` |
    `BavetJoinBiTuple<A,​B>` | `createTuple​(BavetJoinBridgeUniTuple<A> aTuple, BavetJoinBridgeUniTuple<B> bTuple)` |
    `List<BavetAbstractBiNode<A,​B>>` | `getChildNodeList()` |
    `BavetIndex<BavetJoinBridgeUniTuple<A>>` | `getLeftIndex()` |
    `BavetIndex<BavetJoinBridgeUniTuple<B>>` | `getRightIndex()` |
    `void` | `refresh​(BavetAbstractTuple uncastTuple)` |
    `void` | `refreshChildTuplesLeft​(BavetJoinBridgeUniTuple<A> leftParentTuple)` |
    `void` | `refreshChildTuplesRight​(BavetJoinBridgeUniTuple<B> 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

    - #### BavetJoinBiNode

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

  - ### Method Detail

    - #### addChildNode

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

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

    - #### getChildNodeList

          public List<BavetAbstractBiNode<A,​B>> getChildNodeList()

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

    - #### createTuple

          public BavetJoinBiTuple<A,​B> createTuple​(BavetAbstractBiTuple<A,​B> parentTuple)

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

    - #### createTuple

          public BavetJoinBiTuple<A,​B> createTuple​(BavetJoinBridgeUniTuple<A> aTuple,
                                                         BavetJoinBridgeUniTuple<B> bTuple)

    - #### refresh

          public void refresh​(BavetAbstractTuple uncastTuple)

      Specified by:
        `refresh` in class `BavetAbstractNode`

    - #### refreshChildTuplesLeft

          public void refreshChildTuplesLeft​(BavetJoinBridgeUniTuple<A> leftParentTuple)

    - #### refreshChildTuplesRight

          public void refreshChildTuplesRight​(BavetJoinBridgeUniTuple<B> rightParentTuple)

    - #### getLeftIndex

          public BavetIndex<BavetJoinBridgeUniTuple<A>> getLeftIndex()

    - #### getRightIndex

          public BavetIndex<BavetJoinBridgeUniTuple<B>> getRightIndex()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`