## Uses of Class
org.optaplanner.core.impl.score.stream.drools.bi.DroolsAbstractBiConstraintStream

- Packages that use DroolsAbstractBiConstraintStream
  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 DroolsAbstractBiConstraintStream in org.optaplanner.core.impl.score.stream.drools.bi

    Subclasses of DroolsAbstractBiConstraintStream in org.optaplanner.core.impl.score.stream.drools.bi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DroolsExistsBiConstraintStream<Solution_,​A,​B>` |
    `class` | `DroolsFilterBiConstraintStream<Solution_,​A,​B>` |
    `class` | `DroolsGroupingBiConstraintStream<Solution_,​NewA,​NewB>` |
    `class` | `DroolsJoinBiConstraintStream<Solution_,​A,​B>` |

    Constructors in org.optaplanner.core.impl.score.stream.drools.bi with parameters of type DroolsAbstractBiConstraintStream
    Constructor | Description
    --- | ---
    `DroolsExistsBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, boolean shouldExist, Class<C> otherClass, TriJoiner<A,​B,​C>... joiners)` |
    `DroolsFilterBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiPredicate<A,​B> biPredicate)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiFunction<A,​B,​NewB> groupKeyBMapping)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyMapping, BiConstraintCollector<A,​B,​__,​NewB> collector)` |

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

    Constructors in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type DroolsAbstractBiConstraintStream
    Constructor | Description
    --- | ---
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiFunction<A,​B,​NewB> groupKeyBMapping, BiConstraintCollector<A,​B,​ResultContainerC,​NewC> collectorC, BiConstraintCollector<A,​B,​ResultContainerD,​NewD> collectorD)` |

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

    Constructors in org.optaplanner.core.impl.score.stream.drools.tri with parameters of type DroolsAbstractBiConstraintStream
    Constructor | Description
    --- | ---
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiFunction<A,​B,​NewB> groupKeyBMapping, BiConstraintCollector<A,​B,​ResultContainer_,​NewC> collector)` |
    `DroolsJoinTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, DroolsAbstractUniConstraintStream<Solution_,​C> otherStream, TriJoiner<A,​B,​C> triJoiner)` |

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

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