## Uses of Class
org.optaplanner.core.impl.score.stream.bavet.bi.BavetAbstractBiNode

- Packages that use BavetAbstractBiNode
  Package | Description
  --- | ---
  org.optaplanner.core.impl.score.stream.bavet.bi |

- - ### Uses of BavetAbstractBiNode in org.optaplanner.core.impl.score.stream.bavet.bi

    Subclasses of BavetAbstractBiNode in org.optaplanner.core.impl.score.stream.bavet.bi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BavetFilterBiNode<A,​B>` |
    `class` | `BavetGroupBiNode<GroupKey_,​ResultContainer_,​Result_>` |
    `class` | `BavetJoinBiNode<A,​B>` |
    `class` | `BavetJoinBridgeBiNode<A,​B>` |
    `class` | `BavetScoringBiNode<A,​B>` |

    Methods in org.optaplanner.core.impl.score.stream.bavet.bi that return BavetAbstractBiNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract BavetAbstractBiNode<A,​B>` | BavetAbstractBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `BavetAbstractBiNode<A,​B>` | BavetAbstractBiConstraintStream.`createNodeChain​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `protected BavetAbstractBiNode<A,​B>` | BavetAbstractBiConstraintStream.`processNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode, BavetAbstractBiNode<A,​B> node)` |

    Methods in org.optaplanner.core.impl.score.stream.bavet.bi with parameters of type BavetAbstractBiNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | BavetAbstractBiNode.`addChildNode​(BavetAbstractBiNode<A,​B> childNode)` |
    `void` | BavetFilterBiNode.`addChildNode​(BavetAbstractBiNode<A,​B> childNode)` |
    `void` | BavetGroupBiNode.`addChildNode​(BavetAbstractBiNode<GroupKey_,​Result_> childNode)` |
    `void` | BavetJoinBiNode.`addChildNode​(BavetAbstractBiNode<A,​B> childNode)` |
    `protected void` | BavetAbstractBiConstraintStream.`createChildNodeChains​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> node)` |
    `protected void` | BavetJoinBridgeBiConstraintStream.`createChildNodeChains​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> uncastedNode)` |
    `protected void` | BavetScoringBiConstraintStream.`createChildNodeChains​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> node)` |
    `protected abstract BavetAbstractBiNode<A,​B>` | BavetAbstractBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `protected BavetFilterBiNode<A,​B>` | BavetFilterBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `protected BavetGroupBiNode<GroupKey_,​ResultContainer_,​Result_>` | BavetGroupBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<GroupKey_,​Result_> parentNode)` |
    `protected BavetJoinBiNode<A,​B>` | BavetJoinBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `protected BavetJoinBridgeBiNode<A,​B>` | BavetJoinBridgeBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `protected BavetScoringBiNode<A,​B>` | BavetScoringBiConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `BavetAbstractBiNode<A,​B>` | BavetAbstractBiConstraintStream.`createNodeChain​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode)` |
    `BavetGroupBiNode<GroupKey_,​ResultContainer_,​Result_>` | BavetGroupBiConstraintStream.`createNodeChain​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractBiNode<GroupKey_,​Result_> parentNode)` |
    `protected BavetAbstractBiNode<A,​B>` | BavetAbstractBiConstraintStream.`processNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode, BavetAbstractBiNode<A,​B> node)` |

    Constructors in org.optaplanner.core.impl.score.stream.bavet.bi with parameters of type BavetAbstractBiNode
    Constructor | Description
    --- | ---
    `BavetFilterBiNode​(BavetConstraintSession session, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode, BiPredicate<A,​B> predicate)` |
    `BavetJoinBridgeBiNode​(BavetConstraintSession session, int nodeOrder, BavetAbstractBiNode<A,​B> parentNode, BiFunction<A,​B,​Object[]> mapping, BavetIndex<BavetJoinBridgeBiTuple<A,​B>> index)` |