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

- Packages that use ToLongQuadFunction
  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 ToLongQuadFunction in org.optaplanner.core.api.score.stream

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

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

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

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

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

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

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

    Methods in org.optaplanner.core.impl.score.stream.quad with parameters of type ToLongQuadFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `default Constraint` | InnerQuadConstraintStream.`impactConfigurableLong​(String constraintPackage, String constraintName, ToLongQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`impactLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `Constraint` | InnerQuadConstraintStream.`impactScoreConfigurableLong​(String constraintPackage, String constraintName, ToLongQuadFunction<A,​B,​C,​D> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | InnerQuadConstraintStream.`impactScoreLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongQuadFunction<A,​B,​C,​D> matchWeigher, ScoreImpactType impactType)` |
    `default Constraint` | InnerQuadConstraintStream.`penalizeConfigurableLong​(String constraintPackage, String constraintName, ToLongQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`penalizeLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`rewardConfigurableLong​(String constraintPackage, String constraintName, ToLongQuadFunction<A,​B,​C,​D> matchWeigher)` |
    `default Constraint` | InnerQuadConstraintStream.`rewardLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongQuadFunction<A,​B,​C,​D> matchWeigher)` |