## Uses of Interface
org.optaplanner.core.impl.score.stream.drools.common.nodes.TriConstraintGraphNode

- Packages that use TriConstraintGraphNode
  Package | Description
  --- | ---
  org.optaplanner.core.impl.score.stream.drools.common |
  org.optaplanner.core.impl.score.stream.drools.common.consequences |
  org.optaplanner.core.impl.score.stream.drools.common.nodes |
  org.optaplanner.core.impl.score.stream.drools.tri |

- - ### Uses of TriConstraintGraphNode in org.optaplanner.core.impl.score.stream.drools.common

    Methods in org.optaplanner.core.impl.score.stream.drools.common that return TriConstraintGraphNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `<A,​B,​C> TriConstraintGraphNode` | ConstraintGraph.`filter​(TriConstraintGraphNode parent, TriPredicate<A,​B,​C> predicate)` |
    `<A,​B,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraph.`groupBy​(BiConstraintGraphNode parent, BiFunction<A,​B,​GroupKeyA_> aMapping, BiFunction<A,​B,​GroupKeyB_> bMapping, BiConstraintCollector<A,​B,​ResultContainer_,​Result_> collector)` |
    `<A,​B,​C,​D,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraph.`groupBy​(QuadConstraintGraphNode parent, QuadFunction<A,​B,​C,​D,​GroupKeyA_> aMapping, QuadFunction<A,​B,​C,​D,​GroupKeyB_> bMapping, QuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_> collector)` |
    `<A,​B,​C,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​GroupKeyA_> aMapping, TriFunction<A,​B,​C,​GroupKeyB_> bMapping, TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> collector)` |
    `<A,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraph.`groupBy​(UniConstraintGraphNode parent, Function<A,​GroupKeyA_> aMapping, Function<A,​GroupKeyB_> bMapping, UniConstraintCollector<A,​ResultContainer_,​Result_> collector)` |
    `<A,​B,​C,​D> TriConstraintGraphNode` | ConstraintGraph.`ifExists​(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `<A,​B,​C,​D> TriConstraintGraphNode` | ConstraintGraph.`ifNotExists​(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `<A,​B,​C> TriConstraintGraphNode` | ConstraintGraph.`join​(BiConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, TriJoiner<A,​B,​C> joiner)` |

    Methods in org.optaplanner.core.impl.score.stream.drools.common with parameters of type TriConstraintGraphNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `<A,​B,​C> TriConstraintGraphNode` | ConstraintGraph.`filter​(TriConstraintGraphNode parent, TriPredicate<A,​B,​C> predicate)` |
    `<A,​B,​C,​GroupKey_> UniConstraintGraphChildNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​GroupKey_> mapping)` |
    `<A,​B,​C,​GroupKey_,​ResultContainer_,​Result_> BiConstraintGraphNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​GroupKey_> mapping, TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> collector)` |
    `<A,​B,​C,​GroupKeyA_,​GroupKeyB_> BiConstraintGraphNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​GroupKeyA_> aMapping, TriFunction<A,​B,​C,​GroupKeyB_> bMapping)` |
    `<A,​B,​C,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​GroupKeyA_> aMapping, TriFunction<A,​B,​C,​GroupKeyB_> bMapping, TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> collector)` |
    `<A,​B,​C,​GroupKeyA_,​GroupKeyB_,​ResultContainerC_,​ResultC_,​ResultContainerD_,​ResultD_> QuadConstraintGraphNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​GroupKeyA_> aMapping, TriFunction<A,​B,​C,​GroupKeyB_> bMapping, TriConstraintCollector<A,​B,​C,​ResultContainerC_,​ResultC_> cCollector, TriConstraintCollector<A,​B,​C,​ResultContainerD_,​ResultD_> dCollector)` |
    `<A,​B,​C,​ResultContainer_,​Result_> UniConstraintGraphChildNode` | ConstraintGraph.`groupBy​(TriConstraintGraphNode parent, TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> collector)` |
    `<A,​B,​C,​D> TriConstraintGraphNode` | ConstraintGraph.`ifExists​(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `<A,​B,​C,​D> TriConstraintGraphNode` | ConstraintGraph.`ifNotExists​(TriConstraintGraphNode parent, Class<D> existsType, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `TriConstraintConsequence` | ConstraintGraph.`impact​(TriConstraintGraphNode parent)` |
    `<A,​B,​C> TriConstraintConsequence` | ConstraintGraph.`impact​(TriConstraintGraphNode parent, ToIntTriFunction<A,​B,​C> matchWeighter)` |
    `<A,​B,​C> TriConstraintConsequence` | ConstraintGraph.`impact​(TriConstraintGraphNode parent, ToLongTriFunction<A,​B,​C> matchWeighter)` |
    `<A,​B,​C> TriConstraintConsequence` | ConstraintGraph.`impact​(TriConstraintGraphNode parent, TriFunction<A,​B,​C,​BigDecimal> matchWeighter)` |
    `<A,​B,​C,​D> QuadConstraintGraphNode` | ConstraintGraph.`join​(TriConstraintGraphNode leftParent, UniConstraintGraphNode rightParent, QuadJoiner<A,​B,​C,​D> joiner)` |

  - ### Uses of TriConstraintGraphNode in org.optaplanner.core.impl.score.stream.drools.common.consequences

    Methods in org.optaplanner.core.impl.score.stream.drools.common.consequences with parameters of type TriConstraintGraphNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TriConstraintConsequence` | ConstraintConsequence.`create​(TriConstraintGraphNode terminalNode)` |
    `static <A,​B,​C> TriConstraintConsequence` | ConstraintConsequence.`create​(TriConstraintGraphNode terminalNode, ToIntTriFunction<A,​B,​C> matchWeighter)` |
    `static <A,​B,​C> TriConstraintConsequence` | ConstraintConsequence.`create​(TriConstraintGraphNode terminalNode, ToLongTriFunction<A,​B,​C> matchWeighter)` |
    `static <A,​B,​C> TriConstraintConsequence` | ConstraintConsequence.`create​(TriConstraintGraphNode terminalNode, TriFunction<A,​B,​C,​BigDecimal> matchWeighter)` |

  - ### Uses of TriConstraintGraphNode in org.optaplanner.core.impl.score.stream.drools.common.nodes

    Methods in org.optaplanner.core.impl.score.stream.drools.common.nodes that return TriConstraintGraphNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <A,​B,​C> TriConstraintGraphNode` | ConstraintGraphNode.`filter​(TriPredicate<A,​B,​C> predicate)` |
    `static <A,​B,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraphNode.`groupBy​(BiFunction<A,​B,​GroupKeyA_> aMapping, BiFunction<A,​B,​GroupKeyB_> bMapping, BiConstraintCollector<A,​B,​ResultContainer_,​Result_> collector)` |
    `static <A,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraphNode.`groupBy​(Function<A,​GroupKeyA_> aMapping, Function<A,​GroupKeyB_> bMapping, UniConstraintCollector<A,​ResultContainer_,​Result_> collector)` |
    `static <A,​B,​C,​D,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraphNode.`groupBy​(QuadFunction<A,​B,​C,​D,​GroupKeyA_> aMapping, QuadFunction<A,​B,​C,​D,​GroupKeyB_> bMapping, QuadConstraintCollector<A,​B,​C,​D,​ResultContainer_,​Result_> collector)` |
    `static <A,​B,​C,​GroupKeyA_,​GroupKeyB_,​ResultContainer_,​Result_> TriConstraintGraphNode` | ConstraintGraphNode.`groupBy​(TriFunction<A,​B,​C,​GroupKeyA_> aMapping, TriFunction<A,​B,​C,​GroupKeyB_> bMapping, TriConstraintCollector<A,​B,​C,​ResultContainer_,​Result_> collector)` |
    `static <A,​B,​C,​D> TriConstraintGraphNode` | ConstraintGraphNode.`ifExists​(Class<D> otherFactType, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `static <A,​B,​C,​D> TriConstraintGraphNode` | ConstraintGraphNode.`ifNotExists​(Class<D> otherFactType, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `static <A,​B,​C> TriConstraintGraphNode` | ConstraintGraphNode.`join​(Class<C> otherFactType, TriJoiner<A,​B,​C> joiner)` |

  - ### Uses of TriConstraintGraphNode in org.optaplanner.core.impl.score.stream.drools.tri

    Methods in org.optaplanner.core.impl.score.stream.drools.tri that return TriConstraintGraphNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract TriConstraintGraphNode` | DroolsAbstractTriConstraintStream.`getConstraintGraphNode()` |
    `TriConstraintGraphNode` | DroolsExistsTriConstraintStream.`getConstraintGraphNode()` |
    `TriConstraintGraphNode` | DroolsFilterTriConstraintStream.`getConstraintGraphNode()` |
    `TriConstraintGraphNode` | DroolsGroupingTriConstraintStream.`getConstraintGraphNode()` |
    `TriConstraintGraphNode` | DroolsJoinTriConstraintStream.`getConstraintGraphNode()` |