optaplanner-core/src/main/java/org/optaplanner/core/api/score/buildin/hardmediumsoftbigdecimal/HardMediumSoftBigDecimalScoreHolder.java
public void addSoftConstraintMatch(RuleContext kcontext, BigDecimal softWeight) {
        softScore = softScore.add(softWeight);
        registerConstraintMatch(kcontext,
                () -> softScore = softScore.subtract(softWeight),
                () -> HardMediumSoftBigDecimalScore.of(BigDecimal.ZERO, BigDecimal.ZERO, softWeight));
    }
public void addSoftConstraintMatch(RuleContext kcontext, BigDecimal softWeight) {
        softScore = softScore.add(softWeight);
        registerConstraintMatch(kcontext,
                () -> softScore = softScore.subtract(softWeight),
                () -> HardMediumSoftBigDecimalScore.of(BigDecimal.ZERO, BigDecimal.ZERO, softWeight));
    }
public void addSoftConstraintMatch ( RuleContext kcontext , BigDecimal softWeight ) { softScore = softScore . add ( softWeight ) ; registerConstraintMatch ( kcontext , ( ) -> softScore = softScore . subtract ( softWeight ) , ( ) -> HardMediumSoftBigDecimalScore . of ( BigDecimal . ZERO , BigDecimal . ZERO , softWeight ) ) ; }
Add a soft constraint match of specified weighting.

This is typically used in Drools scoring to add a low priority constraint match.

@param kcontext never null, the magic variable in DRL
@param softWeight never null, higher is better, negative for a penalty, positive for a reward
Add a soft constraint match of specified weighting .