Interface BendableLongScoreHolder

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addHardConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, long weight)  
      void addMultiConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext, long[] hardWeights, long[] softWeights)  
      void addSoftConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, long weight)  
      int getHardLevelsSize()  
      int getSoftLevelsSize()  
      void impactScore​(org.kie.api.runtime.rule.RuleContext kcontext, long weightMultiplier)  
      void penalize​(org.kie.api.runtime.rule.RuleContext kcontext, long weightMultiplier)
      Penalize a match by the ConstraintWeight negated and multiplied with the weightMultiplier for all score levels.
      void penalize​(org.kie.api.runtime.rule.RuleContext kcontext, long[] hardWeightsMultiplier, long[] softWeightsMultiplier)
      Penalize a match by the ConstraintWeight negated and multiplied with the specific weightMultiplier per score level.
      void reward​(org.kie.api.runtime.rule.RuleContext kcontext, long weightMultiplier)
      Reward a match by the ConstraintWeight multiplied with the weightMultiplier for all score levels.
      void reward​(org.kie.api.runtime.rule.RuleContext kcontext, long[] hardWeightsMultiplier, long[] softWeightsMultiplier)
      Reward a match by the ConstraintWeight multiplied with the specific weightMultiplier per score level.
    • Method Detail

      • getHardLevelsSize

        int getHardLevelsSize()
      • getSoftLevelsSize

        int getSoftLevelsSize()
      • penalize

        void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                      long 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

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

        void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                    long 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

        void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                    long[] hardWeightsMultiplier,
                    long[] softWeightsMultiplier)
        Reward a match by the ConstraintWeight multiplied with the specific weightMultiplier per score level. Slower than reward(RuleContext, long).
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeightsMultiplier - elements at least 0
        softWeightsMultiplier - elements at least 0
      • impactScore

        void impactScore​(org.kie.api.runtime.rule.RuleContext kcontext,
                         long weightMultiplier)
      • addHardConstraintMatch

        void addHardConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                    int hardLevel,
                                    long weight)
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardLevel - 0 <= hardLevel < getHardLevelsSize(). The scoreLevel is hardLevel for hard levels and softLevel + hardLevelSize for soft levels.
        weight - higher is better, negative for a penalty, positive for a reward
      • addSoftConstraintMatch

        void addSoftConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                    int softLevel,
                                    long weight)
        Parameters:
        kcontext - never null, the magic variable in DRL
        softLevel - 0 <= softLevel < getSoftLevelsSize(). The scoreLevel is hardLevel for hard levels and softLevel + hardLevelSize for soft levels.
        weight - higher is better, negative for a penalty, positive for a reward
      • addMultiConstraintMatch

        void addMultiConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                     long[] hardWeights,
                                     long[] softWeights)
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeights - never null, array of length getHardLevelsSize()
        softWeights - never null, array of length getSoftLevelsSize()