Class SimpleBigDecimalScoreHolderImpl
- java.lang.Object
-
- org.optaplanner.constraint.drl.holder.AbstractScoreHolder<SimpleBigDecimalScore>
-
- org.optaplanner.constraint.drl.holder.SimpleBigDecimalScoreHolderImpl
-
- All Implemented Interfaces:
SimpleBigDecimalScoreHolder
,ScoreHolder<SimpleBigDecimalScore>
public final class SimpleBigDecimalScoreHolderImpl extends AbstractScoreHolder<SimpleBigDecimalScore> implements SimpleBigDecimalScoreHolder
- See Also:
SimpleBigDecimalScore
-
-
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 AbstractScore<Score_>>
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.BigDecimalMatchExecutor>
matchExecutorByNumberMap
protected BigDecimal
score
-
Fields inherited from class org.optaplanner.constraint.drl.holder.AbstractScoreHolder
constraintMatchEnabled, constraintMatchTotalMap, indictmentMap
-
-
Constructor Summary
Constructors Constructor Description SimpleBigDecimalScoreHolderImpl(boolean constraintMatchEnabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weight)
void
configureConstraintWeight(org.kie.api.definition.rule.Rule rule, SimpleBigDecimalScore constraintWeight)
SimpleBigDecimalScore
extractScore(int initScore)
BigDecimal
getScore()
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)
Penalize a match by theConstraintWeight
negated.void
penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
Penalize a match by theConstraintWeight
negated and multiplied with the weightMultiplier for all score levels.void
reward(org.kie.api.runtime.rule.RuleContext kcontext)
Reward a match by theConstraintWeight
.void
reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
Reward a match by theConstraintWeight
multiplied with the weightMultiplier for all score levels.-
Methods inherited from class org.optaplanner.constraint.drl.holder.AbstractScoreHolder
buildScoreHolder, extractJustificationList, getConstraintMatchTotalMap, getIndictmentMap, isConstraintMatchEnabled, registerConstraintMatch
-
-
-
-
Field Detail
-
matchExecutorByNumberMap
protected final Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.BigDecimalMatchExecutor> matchExecutorByNumberMap
-
score
protected BigDecimal score
-
-
Method Detail
-
getScore
public BigDecimal getScore()
-
configureConstraintWeight
public void configureConstraintWeight(org.kie.api.definition.rule.Rule rule, SimpleBigDecimalScore constraintWeight)
- Overrides:
configureConstraintWeight
in classAbstractScoreHolder<SimpleBigDecimalScore>
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext)
Description copied from interface:ScoreHolder
Penalize a match by theConstraintWeight
negated.- Specified by:
penalize
in interfaceScoreHolder<SimpleBigDecimalScore>
- Parameters:
kcontext
- never null, the magic variable in DRL
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
Description copied from interface:SimpleBigDecimalScoreHolder
Penalize a match by theConstraintWeight
negated and multiplied with the weightMultiplier for all score levels.- Specified by:
penalize
in interfaceSimpleBigDecimalScoreHolder
- Parameters:
kcontext
- never null, the magic variable in DRLweightMultiplier
- at least 0
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext)
Description copied from interface:ScoreHolder
Reward a match by theConstraintWeight
.- Specified by:
reward
in interfaceScoreHolder<SimpleBigDecimalScore>
- Parameters:
kcontext
- never null, the magic variable in DRL
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
Description copied from interface:SimpleBigDecimalScoreHolder
Reward a match by theConstraintWeight
multiplied with the weightMultiplier for all score levels.- Specified by:
reward
in interfaceSimpleBigDecimalScoreHolder
- Parameters:
kcontext
- never null, the magic variable in DRLweightMultiplier
- at least 0
-
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<SimpleBigDecimalScore>
- 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<SimpleBigDecimalScore>
- 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<SimpleBigDecimalScore>
- Parameters:
kcontext
- never nullweightMultiplier
- 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 interfaceSimpleBigDecimalScoreHolder
- Specified by:
impactScore
in classAbstractScoreHolder<SimpleBigDecimalScore>
- Parameters:
kcontext
- never nullweightMultiplier
- any
-
addConstraintMatch
public void addConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weight)
- Specified by:
addConstraintMatch
in interfaceSimpleBigDecimalScoreHolder
- Parameters:
kcontext
- never null, the magic variable in DRLweight
- never null, higher is better, negative for a penalty, positive for a reward
-
extractScore
public SimpleBigDecimalScore extractScore(int initScore)
- Specified by:
extractScore
in classAbstractScoreHolder<SimpleBigDecimalScore>
-
-