## 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, List<DroolsFromUniConstraintStream<Solution_,​Object>> fromStreamList, DroolsAbstractConstraintStream<Solution_> scoringStream)` |

  - ### 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, 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, 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, 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)` |
    `DroolsJoinBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, DroolsAbstractUniConstraintStream<Solution_,​B> otherStream, BiJoiner<A,​B> biJoiner)` |
    `DroolsScoringBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent)` |
    `DroolsScoringBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, BiFunction<A,​B,​BigDecimal> bigDecimalMatchWeigher)` |
    `DroolsScoringBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, ToIntBiFunction<A,​B> intMatchWeigher)` |
    `DroolsScoringBiConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, ToLongBiFunction<A,​B> longMatchWeigher)` |

  - ### 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, DroolsAbstractConstraintStream<Solution_> parent)` |
    `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,​ResultContainerC,​NewC> collectorC, BiConstraintCollector<A,​B,​ResultContainerD,​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,​ResultContainerC,​NewC> collectorC, QuadConstraintCollector<A,​B,​C,​D,​ResultContainerD,​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,​ResultContainerC,​NewC> collectorC, TriConstraintCollector<A,​B,​C,​ResultContainerD,​NewD> collectorD)` |
    `DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping, UniConstraintCollector<A,​ResultContainerC,​NewC> collectorC, UniConstraintCollector<A,​ResultContainerD,​NewD> collectorD)` |
    `DroolsJoinQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, DroolsAbstractUniConstraintStream<Solution_,​D> otherStream, QuadJoiner<A,​B,​C,​D> joiner)` |
    `DroolsScoringQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent)` |
    `DroolsScoringQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadFunction<A,​B,​C,​D,​BigDecimal> bigDecimalMatchWeigher)` |
    `DroolsScoringQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, ToIntQuadFunction<A,​B,​C,​D> intMatchWeigher)` |
    `DroolsScoringQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, ToLongQuadFunction<A,​B,​C,​D> longMatchWeigher)` |

  - ### 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, DroolsAbstractConstraintStream<Solution_> parent)` |
    `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,​ResultContainer_,​NewC> collector)` |
    `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,​ResultContainer_,​NewC> collector)` |
    `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,​ResultContainer_,​NewC> collector)` |
    `DroolsGroupingTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping, UniConstraintCollector<A,​ResultContainer_,​NewC> collector)` |
    `DroolsJoinTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent, DroolsAbstractUniConstraintStream<Solution_,​C> otherStream, TriJoiner<A,​B,​C> triJoiner)` |
    `DroolsScoringTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent)` |
    `DroolsScoringTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, ToIntTriFunction<A,​B,​C> intMatchWeigher)` |
    `DroolsScoringTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, ToLongTriFunction<A,​B,​C> longMatchWeigher)` |
    `DroolsScoringTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriFunction<A,​B,​C,​BigDecimal> bigDecimalMatchWeigher)` |

  - ### 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,​ResultContainer_,​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,​ResultContainer_,​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,​ResultContainer_,​NewA> collector)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​NewA> groupKeyMapping)` |
    `DroolsGroupingUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, UniConstraintCollector<A,​ResultContainer_,​NewA> collector)` |
    `DroolsScoringUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent)` |
    `DroolsScoringUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, Function<A,​BigDecimal> bigDecimalMatchWeigher)` |
    `DroolsScoringUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, ToIntFunction<A> intMatchWeigher)` |
    `DroolsScoringUniConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_,​A> parent, ToLongFunction<A> longMatchWeigher)` |