## Uses of Class
org.optaplanner.core.impl.score.stream.drools.tri.DroolsAbstractTriConstraintStream

- Packages that use DroolsAbstractTriConstraintStream
  Package | Description
  --- | ---
  org.optaplanner.core.impl.score.stream.drools.bi |
  org.optaplanner.core.impl.score.stream.drools.quad |
  org.optaplanner.core.impl.score.stream.drools.tri |
  org.optaplanner.core.impl.score.stream.drools.uni |

- - ### Uses of DroolsAbstractTriConstraintStream in org.optaplanner.core.impl.score.stream.drools.bi

    Constructors in org.optaplanner.core.impl.score.stream.drools.bi with parameters of type DroolsAbstractTriConstraintStream
    Constructor | Description
    --- | ---
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyAMapping, TriFunction<A,​B,​C,​NewB> groupKeyBMapping)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyMapping, TriConstraintCollector<A,​B,​C,​?,​NewB> collector)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriConstraintCollector<A,​B,​C,​?,​NewA> collectorA, TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB)` |

  - ### Uses of DroolsAbstractTriConstraintStream in org.optaplanner.core.impl.score.stream.drools.quad

    Constructors in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type DroolsAbstractTriConstraintStream
    Constructor | Description
    --- | ---
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyAMapping, TriFunction<A,​B,​C,​NewB> groupKeyBMapping, TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC, TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyAMapping, TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB, TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC, TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriConstraintCollector<A,​B,​C,​?,​NewA> collectorA, TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB, TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC, TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)` |
    `DroolsJoinQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, DroolsAbstractUniConstraintStream<Solution_,​D> otherStream, QuadJoiner<A,​B,​C,​D> joiner)` |

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

    Subclasses of DroolsAbstractTriConstraintStream in org.optaplanner.core.impl.score.stream.drools.tri
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DroolsExistsTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `DroolsFilterTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `DroolsGroupingTriConstraintStream<Solution_,​NewA,​NewB,​NewC>` |
    `class` | `DroolsJoinTriConstraintStream<Solution_,​A,​B,​C>` |

    Constructors in org.optaplanner.core.impl.score.stream.drools.tri with parameters of type DroolsAbstractTriConstraintStream
    Constructor | Description
    --- | ---
    `DroolsExistsTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, boolean shouldExist, Class<D> otherClass, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `DroolsFilterTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriPredicate<A,​B,​C> triPredicate)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyAMapping, TriFunction<A,​B,​C,​NewB> groupKeyBMapping, TriConstraintCollector<A,​B,​C,​?,​NewC> collector)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyAMapping, TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB, TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriConstraintCollector<A,​B,​C,​?,​NewA> collectorA, TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB, TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC)` |

  - ### Uses of DroolsAbstractTriConstraintStream in org.optaplanner.core.impl.score.stream.drools.uni

    Constructors in org.optaplanner.core.impl.score.stream.drools.uni with parameters of type DroolsAbstractTriConstraintStream
    Constructor | Description
    --- | ---
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​NewA> groupKeyMapping)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriConstraintCollector<A,​B,​C,​?,​NewA> collector)` |