## Uses of Class
org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriNode

- Packages that use BavetAbstractTriNode
  Package | Description
  --- | ---
  org.optaplanner.core.impl.score.stream.bavet.tri |

- - ### Uses of BavetAbstractTriNode in org.optaplanner.core.impl.score.stream.bavet.tri

    Subclasses of BavetAbstractTriNode in org.optaplanner.core.impl.score.stream.bavet.tri
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BavetFilterTriNode<A,​B,​C>` |
    `class` | `BavetJoinTriNode<A,​B,​C>` |
    `class` | `BavetScoringTriNode<A,​B,​C>` |

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

    Methods in org.optaplanner.core.impl.score.stream.bavet.tri with parameters of type BavetAbstractTriNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | BavetAbstractTriNode.`addChildNode​(BavetAbstractTriNode<A,​B,​C> childNode)` |
    `void` | BavetFilterTriNode.`addChildNode​(BavetAbstractTriNode<A,​B,​C> childNode)` |
    `void` | BavetJoinTriNode.`addChildNode​(BavetAbstractTriNode<A,​B,​C> childNode)` |
    `protected void` | BavetAbstractTriConstraintStream.`createChildNodeChains​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> node)` |
    `protected void` | BavetScoringTriConstraintStream.`createChildNodeChains​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> node)` |
    `protected abstract BavetAbstractTriNode<A,​B,​C>` | BavetAbstractTriConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode)` |
    `protected BavetFilterTriNode<A,​B,​C>` | BavetFilterTriConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode)` |
    `protected BavetJoinTriNode<A,​B,​C>` | BavetJoinTriConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode)` |
    `protected BavetScoringTriNode<A,​B,​C>` | BavetScoringTriConstraintStream.`createNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode)` |
    `BavetAbstractTriNode<A,​B,​C>` | BavetAbstractTriConstraintStream.`createNodeChain​(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode)` |
    `protected BavetAbstractTriNode<A,​B,​C>` | BavetAbstractTriConstraintStream.`processNode​(BavetNodeBuildPolicy<Solution_> buildPolicy, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode, BavetAbstractTriNode<A,​B,​C> node)` |

    Constructors in org.optaplanner.core.impl.score.stream.bavet.tri with parameters of type BavetAbstractTriNode
    Constructor | Description
    --- | ---
    `BavetFilterTriNode​(BavetConstraintSession session, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode, TriPredicate<A,​B,​C> predicate)` |