Class HardSoftBigDecimalScoreHolder

    • Constructor Detail

      • HardSoftBigDecimalScoreHolder

        public HardSoftBigDecimalScoreHolder​(boolean constraintMatchEnabled)
    • Method Detail

      • penalize

        public 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
      • penalize

        public void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                             BigDecimal weightMultiplier)
        Penalize a match by the ConstraintWeight negated and multiplied with the weightMultiplier for all score levels.
        Parameters:
        kcontext - never null, the magic variable in DRL
        weightMultiplier - at least 0
      • penalize

        public void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                             BigDecimal hardWeightMultiplier,
                             BigDecimal softWeightMultiplier)
        Penalize a match by the ConstraintWeight negated and multiplied with the specific weightMultiplier per score level. Slower than penalize(RuleContext, BigDecimal).
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeightMultiplier - at least 0
        softWeightMultiplier - at least 0
      • reward

        public void reward​(org.kie.api.runtime.rule.RuleContext kcontext)
        Reward a match by the ConstraintWeight.
        Parameters:
        kcontext - never null, the magic variable in DRL
      • reward

        public void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                           BigDecimal weightMultiplier)
        Reward a match by the ConstraintWeight multiplied with the weightMultiplier for all score levels.
        Parameters:
        kcontext - never null, the magic variable in DRL
        weightMultiplier - at least 0
      • reward

        public void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                           BigDecimal hardWeightMultiplier,
                           BigDecimal softWeightMultiplier)
        Reward a match by the ConstraintWeight multiplied with the specific weightMultiplier per score level. Slower than reward(RuleContext, BigDecimal).
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeightMultiplier - at least 0
        softWeightMultiplier - at least 0
      • addHardConstraintMatch

        public void addHardConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                           BigDecimal hardWeight)
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeight - never null, higher is better, negative for a penalty, positive for a reward
      • addSoftConstraintMatch

        public void addSoftConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                           BigDecimal softWeight)
        Parameters:
        kcontext - never null, the magic variable in DRL
        softWeight - never null, higher is better, negative for a penalty, positive for a reward
      • addMultiConstraintMatch

        public void addMultiConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                            BigDecimal hardWeight,
                                            BigDecimal softWeight)
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeight - never null, higher is better, negative for a penalty, positive for a reward
        softWeight - never null, higher is better, negative for a penalty, positive for a reward