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

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

    Constructors in org.optaplanner.core.impl.score.stream.drools with parameters of type DroolsConstraintFactory
    Constructor | Description
    --- | ---
    `DroolsConstraint​(DroolsConstraintFactory<Solution_> constraintFactory, String constraintPackage, String constraintName, Function<Solution_,​Score<?>> constraintWeightExtractor, ScoreImpactType scoreImpactType, boolean isConstraintWeightConfigurable, RuleBuilder<Solution_> ruleBuilder)` |

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

    Constructors in org.optaplanner.core.impl.score.stream.drools.bi with parameters of type DroolsConstraintFactory
    Constructor | Description
    --- | ---
    `DroolsAbstractBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory)` |
    `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)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiConstraintCollector<A,​B,​?,​NewA> collectorA, BiConstraintCollector<A,​B,​?,​NewB> collectorB)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyMapping, QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collector)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadConstraintCollector<A,​B,​C,​D,​?,​NewA> collectorA, QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB)` |
    `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)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyMapping, UniConstraintCollector<A,​?,​NewB> collector)` |
    `DroolsGroupingBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, UniConstraintCollector<A,​?,​NewA> collectorA, UniConstraintCollector<A,​?,​NewB> collectorB)` |
    `DroolsJoinBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, DroolsAbstractUniConstraintStream<Solution_,​B> otherStream, BiJoiner<A,​B> biJoiner)` |

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

    Fields in org.optaplanner.core.impl.score.stream.drools.common declared as DroolsConstraintFactory
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected DroolsConstraintFactory<Solution_>` | DroolsAbstractConstraintStream.`constraintFactory` |

    Methods in org.optaplanner.core.impl.score.stream.drools.common that return DroolsConstraintFactory
    Modifier and Type | Method | Description
    --- | --- | ---
    `DroolsConstraintFactory<Solution_>` | DroolsAbstractConstraintStream.`getConstraintFactory()` |

    Constructors in org.optaplanner.core.impl.score.stream.drools.common with parameters of type DroolsConstraintFactory
    Constructor | Description
    --- | ---
    `DroolsAbstractConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory)` |

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

    Constructors in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type DroolsConstraintFactory
    Constructor | Description
    --- | ---
    `DroolsAbstractQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory)` |
    `DroolsExistsQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, boolean shouldExist, Class<E> otherClass, PentaJoiner<A,​B,​C,​D,​E>... joiners)` |
    `DroolsFilterQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadPredicate<A,​B,​C,​D> predicate)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiFunction<A,​B,​NewB> groupKeyBMapping, BiConstraintCollector<A,​B,​?,​NewC> collectorC, BiConstraintCollector<A,​B,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiConstraintCollector<A,​B,​?,​NewB> collectorB, BiConstraintCollector<A,​B,​?,​NewC> collectorC, BiConstraintCollector<A,​B,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiConstraintCollector<A,​B,​?,​NewA> collectorA, BiConstraintCollector<A,​B,​?,​NewB> collectorB, BiConstraintCollector<A,​B,​?,​NewC> collectorC, BiConstraintCollector<A,​B,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC, QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC, QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadConstraintCollector<A,​B,​C,​D,​?,​NewA> collectorA, QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC, QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)` |
    `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)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping, UniConstraintCollector<A,​?,​NewC> collectorC, UniConstraintCollector<A,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, UniConstraintCollector<A,​?,​NewB> collectorB, UniConstraintCollector<A,​?,​NewC> collectorC, UniConstraintCollector<A,​?,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, UniConstraintCollector<A,​?,​NewA> collectorA, UniConstraintCollector<A,​?,​NewB> collectorB, UniConstraintCollector<A,​?,​NewC> collectorC, UniConstraintCollector<A,​?,​NewD> collectorD)` |
    `DroolsJoinQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, DroolsAbstractUniConstraintStream<Solution_,​D> otherStream, QuadJoiner<A,​B,​C,​D> joiner)` |

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

    Constructors in org.optaplanner.core.impl.score.stream.drools.tri with parameters of type DroolsConstraintFactory
    Constructor | Description
    --- | ---
    `DroolsAbstractTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory)` |
    `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, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiFunction<A,​B,​NewB> groupKeyBMapping, BiConstraintCollector<A,​B,​?,​NewC> collector)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​NewA> groupKeyAMapping, BiConstraintCollector<A,​B,​?,​NewB> collectorB, BiConstraintCollector<A,​B,​?,​NewC> collectorC)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiConstraintCollector<A,​B,​?,​NewA> collectorA, BiConstraintCollector<A,​B,​?,​NewB> collectorB, BiConstraintCollector<A,​B,​?,​NewC> collectorC)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collector)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadConstraintCollector<A,​B,​C,​D,​?,​NewA> collectorA, QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC)` |
    `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)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping, UniConstraintCollector<A,​?,​NewC> collector)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, UniConstraintCollector<A,​?,​NewB> collectorB, UniConstraintCollector<A,​?,​NewC> collectorC)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, UniConstraintCollector<A,​?,​NewA> collectorA, UniConstraintCollector<A,​?,​NewB> collectorB, UniConstraintCollector<A,​?,​NewC> collectorC)` |
    `DroolsJoinTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, DroolsAbstractUniConstraintStream<Solution_,​C> otherStream, TriJoiner<A,​B,​C> joiner)` |

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

    Constructors in org.optaplanner.core.impl.score.stream.drools.uni with parameters of type DroolsConstraintFactory
    Constructor | Description
    --- | ---
    `DroolsAbstractUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory)` |
    `DroolsExistsUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, boolean shouldExist, Class<B> otherClass, BiJoiner<A,​B>... joiners)` |
    `DroolsFilterUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Predicate<A> predicate)` |
    `DroolsFromUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, Class<A> fromClass)` |
    `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,​?,​NewA> collector)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​NewA> groupKeyMapping)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadConstraintCollector<A,​B,​C,​D,​?,​NewA> collector)` |
    `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)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyMapping)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, UniConstraintCollector<A,​?,​NewA> collector)` |