public void addHardConstraintMatch(RuleContext kcontext, BigDecimal hardWeight) {
    """
	Add a hard constraint of specified weighting.
	
	This is typically used in Drools scoring to add a hard constraint match (negative value to indicate an infeasible
	solution).
	
	@param kcontext never null, the magic variable in DRL
	@param hardWeight never null, higher is better, negative for a penalty, positive for a reward
    """
        hardScore = hardScore.add(hardWeight);
        registerConstraintMatch(kcontext,
                () -> hardScore = hardScore.subtract(hardWeight),
                () -> HardMediumSoftBigDecimalScore.of(hardWeight, BigDecimal.ZERO, BigDecimal.ZERO));
    }
public void addHardConstraintMatch(RuleContext kcontext, BigDecimal hardWeight) {
        hardScore = hardScore.add(hardWeight);
        registerConstraintMatch(kcontext,
                () -> hardScore = hardScore.subtract(hardWeight),
                () -> HardMediumSoftBigDecimalScore.of(hardWeight, BigDecimal.ZERO, BigDecimal.ZERO));
    }
public void addHardConstraintMatch ( RuleContext kcontext , BigDecimal hardWeight ) { hardScore = hardScore . add ( hardWeight ) ; registerConstraintMatch ( kcontext , ( ) -> hardScore = hardScore . subtract ( hardWeight ) , ( ) -> HardMediumSoftBigDecimalScore . of ( hardWeight , BigDecimal . ZERO , BigDecimal . ZERO ) ) ; }
Add a hard constraint of specified weighting.

This is typically used in Drools scoring to add a hard constraint match (negative value to indicate an infeasible
solution).

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