Class HardMediumSoftScoreHolderImpl

    • Constructor Detail

      • HardMediumSoftScoreHolderImpl

        public HardMediumSoftScoreHolderImpl​(boolean constraintMatchEnabled)
    • Method Detail

      • getHardScore

        public int getHardScore()
      • getMediumScore

        public int getMediumScore()
      • getSoftScore

        public int getSoftScore()
      • penalize

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

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

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

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

        public void impactScore​(org.kie.api.runtime.rule.RuleContext kcontext,
                                long weightMultiplier)
        Description copied from class: AbstractScoreHolder
        For internal use only, use penalize() or reward() instead.
        Specified by:
        impactScore in class AbstractScoreHolder<HardMediumSoftScore>
        Parameters:
        kcontext - never null
        weightMultiplier - any
      • addHardConstraintMatch

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

        public void addMediumConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                             int mediumWeight)
        Specified by:
        addMediumConstraintMatch in interface HardMediumSoftScoreHolder
        Parameters:
        kcontext - never null, the magic variable in DRL
        mediumWeight - higher is better, negative for a penalty, positive for a reward
      • addSoftConstraintMatch

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

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