Package org.optaplanner.core.api.score.holder

## Interface ScoreHolder<Score_ extends Score<Score_>>

- Type Parameters:
    `Score_` - the `Score` type
  All Known Subinterfaces:
    `BendableBigDecimalScoreHolder`, `BendableLongScoreHolder`, `BendableScoreHolder`, `HardMediumSoftBigDecimalScoreHolder`, `HardMediumSoftLongScoreHolder`, `HardMediumSoftScoreHolder`, `HardSoftBigDecimalScoreHolder`, `HardSoftLongScoreHolder`, `HardSoftScoreHolder`, `SimpleBigDecimalScoreHolder`, `SimpleLongScoreHolder`, `SimpleScoreHolder`
  All Known Implementing Classes:
    `AbstractScoreHolder`, `BendableBigDecimalScoreHolderImpl`, `BendableLongScoreHolderImpl`, `BendableScoreHolderImpl`, `HardMediumSoftBigDecimalScoreHolderImpl`, `HardMediumSoftLongScoreHolderImpl`, `HardMediumSoftScoreHolderImpl`, `HardSoftBigDecimalScoreHolderImpl`, `HardSoftLongScoreHolderImpl`, `HardSoftScoreHolderImpl`, `SimpleBigDecimalScoreHolderImpl`, `SimpleLongScoreHolderImpl`, `SimpleScoreHolderImpl`

      public interface ScoreHolder<Score_ extends Score<Score_>>

  This is the base interface for all score holder implementations, used exclusively by Drools-based score calculators.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `penalize​(org.kie.api.runtime.rule.RuleContext kcontext)` | Penalize a match by the `ConstraintWeight` negated.
    `void` | `reward​(org.kie.api.runtime.rule.RuleContext kcontext)` | Reward a match by the `ConstraintWeight`.

- - ### Method Detail

    - #### penalize

          void penalize​(org.kie.api.runtime.rule.RuleContext kcontext)

      Penalize a match by the `ConstraintWeight` negated.
      Parameters:
        `kcontext` - never null, the magic variable in DRL

    - #### reward

          void reward​(org.kie.api.runtime.rule.RuleContext kcontext)

      Reward a match by the `ConstraintWeight`.
      Parameters:
        `kcontext` - never null, the magic variable in DRL