Class BendableBigDecimalScoreHolderImpl
java.lang.Object
org.optaplanner.constraint.drl.holder.AbstractScoreHolder<BendableBigDecimalScore>
org.optaplanner.constraint.drl.holder.BendableBigDecimalScoreHolderImpl
- All Implemented Interfaces:
BendableBigDecimalScoreHolder
,ScoreHolder<BendableBigDecimalScore>
public final class BendableBigDecimalScoreHolderImpl
extends AbstractScoreHolder<BendableBigDecimalScore>
implements BendableBigDecimalScoreHolder
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.optaplanner.constraint.drl.holder.AbstractScoreHolder
AbstractScoreHolder.BigDecimalMatchExecutor, AbstractScoreHolder.ConstraintActivationUnMatchListener, AbstractScoreHolder.IntMatchExecutor, AbstractScoreHolder.LongMatchExecutor, AbstractScoreHolder.ScoreMatchExecutor<Score_ extends Score<Score_>>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Map<org.kie.api.definition.rule.Rule,
AbstractScoreHolder.BigDecimalMatchExecutor> protected final Map<org.kie.api.definition.rule.Rule,
AbstractScoreHolder.ScoreMatchExecutor<BendableBigDecimalScore>> Slower thanmatchExecutorByNumberMap
Fields inherited from class org.optaplanner.constraint.drl.holder.AbstractScoreHolder
constraintMatchEnabled, constraintMatchTotalMap, indictmentMap
-
Constructor Summary
ConstructorsConstructorDescriptionBendableBigDecimalScoreHolderImpl
(boolean constraintMatchEnabled, int hardLevelsSize, int softLevelsSize) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addHardConstraintMatch
(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, BigDecimal weight) void
addMultiConstraintMatch
(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeights, BigDecimal[] softWeights) void
addSoftConstraintMatch
(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, BigDecimal weight) void
configureConstraintWeight
(org.kie.api.definition.rule.Rule rule, BendableBigDecimalScore constraintWeight) extractScore
(int initScore) int
getHardScore
(int hardLevel) int
getSoftScore
(int softLevel) void
impactScore
(org.kie.api.runtime.rule.RuleContext kcontext) For internal use only, use penalize() or reward() instead.void
impactScore
(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier) For internal use only, use penalize() or reward() instead.void
impactScore
(org.kie.api.runtime.rule.RuleContext kcontext, long weightMultiplier) For internal use only, use penalize() or reward() instead.void
impactScore
(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier) For internal use only, use penalize() or reward() instead.void
penalize
(org.kie.api.runtime.rule.RuleContext kcontext) void
penalize
(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier) void
penalize
(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier) void
reward
(org.kie.api.runtime.rule.RuleContext kcontext) void
reward
(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier) void
reward
(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier) Methods inherited from class org.optaplanner.constraint.drl.holder.AbstractScoreHolder
buildScoreHolder, extractJustificationList, getConstraintMatchTotalMap, getIndictmentMap, isConstraintMatchEnabled, registerConstraintMatch
-
Field Details
-
matchExecutorByNumberMap
protected final Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.BigDecimalMatchExecutor> matchExecutorByNumberMap -
matchExecutorByScoreMap
protected final Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.ScoreMatchExecutor<BendableBigDecimalScore>> matchExecutorByScoreMapSlower thanmatchExecutorByNumberMap
-
-
Constructor Details
-
BendableBigDecimalScoreHolderImpl
public BendableBigDecimalScoreHolderImpl(boolean constraintMatchEnabled, int hardLevelsSize, int softLevelsSize)
-
-
Method Details
-
getHardLevelsSize
public int getHardLevelsSize()- Specified by:
getHardLevelsSize
in interfaceBendableBigDecimalScoreHolder
-
getHardScore
-
getSoftLevelsSize
public int getSoftLevelsSize()- Specified by:
getSoftLevelsSize
in interfaceBendableBigDecimalScoreHolder
-
getSoftScore
-
configureConstraintWeight
public void configureConstraintWeight(org.kie.api.definition.rule.Rule rule, BendableBigDecimalScore constraintWeight) - Overrides:
configureConstraintWeight
in classAbstractScoreHolder<BendableBigDecimalScore>
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext) - Specified by:
penalize
in interfaceScoreHolder<BendableBigDecimalScore>
-
penalize
- Specified by:
penalize
in interfaceBendableBigDecimalScoreHolder
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier) - Specified by:
penalize
in interfaceBendableBigDecimalScoreHolder
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext) - Specified by:
reward
in interfaceScoreHolder<BendableBigDecimalScore>
-
reward
- Specified by:
reward
in interfaceBendableBigDecimalScoreHolder
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier) - Specified by:
reward
in interfaceBendableBigDecimalScoreHolder
-
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 classAbstractScoreHolder<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 classAbstractScoreHolder<BendableBigDecimalScore>
- Parameters:
kcontext
- never nullweightMultiplier
- 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 classAbstractScoreHolder<BendableBigDecimalScore>
- Parameters:
kcontext
- never nullweightMultiplier
- any
-
impactScore
Description copied from class:AbstractScoreHolder
For internal use only, use penalize() or reward() instead.- Specified by:
impactScore
in interfaceBendableBigDecimalScoreHolder
- Specified by:
impactScore
in classAbstractScoreHolder<BendableBigDecimalScore>
- Parameters:
kcontext
- never nullweightMultiplier
- any
-
addHardConstraintMatch
public void addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, BigDecimal weight) - Specified by:
addHardConstraintMatch
in interfaceBendableBigDecimalScoreHolder
-
addSoftConstraintMatch
public void addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, BigDecimal weight) - Specified by:
addSoftConstraintMatch
in interfaceBendableBigDecimalScoreHolder
-
addMultiConstraintMatch
public void addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeights, BigDecimal[] softWeights) - Specified by:
addMultiConstraintMatch
in interfaceBendableBigDecimalScoreHolder
-
extractScore
- Specified by:
extractScore
in classAbstractScoreHolder<BendableBigDecimalScore>
-