## Uses of Interface
org.optaplanner.core.api.function.ToIntQuadFunction

- Packages that use ToIntQuadFunction
  Package | Description
  --- | ---
  org.optaplanner.core.api.score.stream | The `ConstraintStream` API: a way to define constraints for `Score` calculation.
  org.optaplanner.core.api.score.stream.quad | The `ConstraintStream` API for four matched facts.
  org.optaplanner.core.impl.score.stream.drools.quad |
  org.optaplanner.core.impl.score.stream.quad |

- - ### Uses of ToIntQuadFunction in org.optaplanner.core.api.score.stream

    Methods in org.optaplanner.core.api.score.stream with parameters of type ToIntQuadFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <A,​B,​C,​D> QuadConstraintCollector<A,​B,​C,​D,​?,​Integer>` | ConstraintCollectors.`sum​(ToIntQuadFunction<? super A,​? super B,​? super C,​? super D> groupValueMapping)` |

  - ### Uses of ToIntQuadFunction in org.optaplanner.core.api.score.stream.quad

    Methods in org.optaplanner.core.api.score.stream.quad with parameters of type ToIntQuadFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `Constraint` | QuadConstraintStream.`impact​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | As defined by `QuadConstraintStream.impact(String, Score, ToIntQuadFunction)`.
    `default Constraint` | QuadConstraintStream.`impact​(String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | Positively or negatively impact the `Score` by the constraintWeight multiplied by the match weight.
    `Constraint` | QuadConstraintStream.`impactConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | As defined by `QuadConstraintStream.impactConfigurable(String, ToIntQuadFunction)`.
    `default Constraint` | QuadConstraintStream.`impactConfigurable​(String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | Positively or negatively impact the `Score` by the `ConstraintWeight` for each match.
    `Constraint` | QuadConstraintStream.`penalize​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | As defined by `QuadConstraintStream.penalize(String, Score, ToIntQuadFunction)`.
    `default Constraint` | QuadConstraintStream.`penalize​(String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | Negatively impact the `Score`: subtract the constraintWeight multiplied by the match weight.
    `Constraint` | QuadConstraintStream.`penalizeConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | As defined by `QuadConstraintStream.penalizeConfigurable(String, ToIntQuadFunction)`.
    `default Constraint` | QuadConstraintStream.`penalizeConfigurable​(String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | Negatively impact the `Score`: subtract the `ConstraintWeight` multiplied by the match weight.
    `Constraint` | QuadConstraintStream.`reward​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | As defined by `QuadConstraintStream.reward(String, Score, ToIntQuadFunction)`.
    `default Constraint` | QuadConstraintStream.`reward​(String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | Positively impact the `Score`: add the constraintWeight multiplied by the match weight.
    `Constraint` | QuadConstraintStream.`rewardConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | As defined by `QuadConstraintStream.rewardConfigurable(String, ToIntQuadFunction)`.
    `default Constraint` | QuadConstraintStream.`rewardConfigurable​(String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` | Positively impact the `Score`: add the `ConstraintWeight` multiplied by the match weight.

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

    Methods in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type ToIntQuadFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<org.drools.model.RuleItemBuilder<?>>` | DroolsQuadCondition.`completeWithScoring​(DroolsConstraint<?> constraint, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToIntQuadFunction<A,​B,​C,​D> matchWeighter)` |
    `Constraint` | DroolsAbstractQuadConstraintStream.`impactScore​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | DroolsAbstractQuadConstraintStream.`impactScoreConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher, ScoreImpactType impactType)` |

    Constructors in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type ToIntQuadFunction
    Constructor | Description
    --- | ---
    `DroolsScoringQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, ToIntQuadFunction<A,​B,​C,​D> intMatchWeigher)` |

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

    Methods in org.optaplanner.core.impl.score.stream.quad with parameters of type ToIntQuadFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `default Constraint` | InnerQuadConstraintStream.`impact​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`impactConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `Constraint` | InnerQuadConstraintStream.`impactScore​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | InnerQuadConstraintStream.`impactScoreConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher, ScoreImpactType impactType)` |
    `default Constraint` | InnerQuadConstraintStream.`penalize​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`penalizeConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`reward​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`rewardConfigurable​(String constraintPackage, String constraintName, ToIntQuadFunction<A,​B,​C,​D> matchWeigher)` |