Class BendableBigDecimalScoreHolderImpl

  • All Implemented Interfaces:
    org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder, org.optaplanner.core.api.score.holder.ScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>

    public final class BendableBigDecimalScoreHolderImpl
    extends AbstractScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
    implements org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
    See Also:
    BendableBigDecimalScore
    • Constructor Detail

      • BendableBigDecimalScoreHolderImpl

        public BendableBigDecimalScoreHolderImpl​(boolean constraintMatchEnabled,
                                                 int hardLevelsSize,
                                                 int softLevelsSize)
    • Method Detail

      • getHardLevelsSize

        public int getHardLevelsSize()
        Specified by:
        getHardLevelsSize in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • getHardScore

        public BigDecimal getHardScore​(int hardLevel)
      • getSoftLevelsSize

        public int getSoftLevelsSize()
        Specified by:
        getSoftLevelsSize in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • getSoftScore

        public BigDecimal getSoftScore​(int softLevel)
      • configureConstraintWeight

        public void configureConstraintWeight​(org.kie.api.definition.rule.Rule rule,
                                              org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore constraintWeight)
        Overrides:
        configureConstraintWeight in class AbstractScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
      • penalize

        public void penalize​(org.kie.api.runtime.rule.RuleContext kcontext)
        Specified by:
        penalize in interface org.optaplanner.core.api.score.holder.ScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
      • penalize

        public void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                             BigDecimal weightMultiplier)
        Specified by:
        penalize in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • penalize

        public void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                             BigDecimal[] hardWeightsMultiplier,
                             BigDecimal[] softWeightsMultiplier)
        Specified by:
        penalize in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • reward

        public void reward​(org.kie.api.runtime.rule.RuleContext kcontext)
        Specified by:
        reward in interface org.optaplanner.core.api.score.holder.ScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
      • reward

        public void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                           BigDecimal weightMultiplier)
        Specified by:
        reward in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • reward

        public void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                           BigDecimal[] hardWeightsMultiplier,
                           BigDecimal[] softWeightsMultiplier)
        Specified by:
        reward in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • impactScore

        public void impactScore​(org.kie.api.runtime.rule.RuleContext kcontext)
        Description copied from class: AbstractScoreHolder
        For internal use only, use penalize() or reward() instead.
        Overrides:
        impactScore in class AbstractScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
        Parameters:
        kcontext - never null
      • impactScore

        public void impactScore​(org.kie.api.runtime.rule.RuleContext kcontext,
                                int weightMultiplier)
        Description copied from class: AbstractScoreHolder
        For internal use only, use penalize() or reward() instead.
        Specified by:
        impactScore in class AbstractScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
        Parameters:
        kcontext - never null
        weightMultiplier - any
      • 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<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
        Parameters:
        kcontext - never null
        weightMultiplier - any
      • impactScore

        public void impactScore​(org.kie.api.runtime.rule.RuleContext kcontext,
                                BigDecimal weightMultiplier)
        Description copied from class: AbstractScoreHolder
        For internal use only, use penalize() or reward() instead.
        Specified by:
        impactScore in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
        Specified by:
        impactScore in class AbstractScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>
        Parameters:
        kcontext - never null
        weightMultiplier - any
      • addHardConstraintMatch

        public void addHardConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                           int hardLevel,
                                           BigDecimal weight)
        Specified by:
        addHardConstraintMatch in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • addSoftConstraintMatch

        public void addSoftConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                           int softLevel,
                                           BigDecimal weight)
        Specified by:
        addSoftConstraintMatch in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • addMultiConstraintMatch

        public void addMultiConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                            BigDecimal[] hardWeights,
                                            BigDecimal[] softWeights)
        Specified by:
        addMultiConstraintMatch in interface org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScoreHolder
      • extractScore

        public org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore extractScore​(int initScore)
        Specified by:
        extractScore in class AbstractScoreHolder<org.optaplanner.core.api.score.buildin.bendablebigdecimal.BendableBigDecimalScore>