Class HardSoftBigDecimalScoreHolderImpl
- java.lang.Object
-
- org.optaplanner.constraint.drl.holder.AbstractScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
-
- org.optaplanner.constraint.drl.holder.HardSoftBigDecimalScoreHolderImpl
-
- All Implemented Interfaces:
org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
,org.optaplanner.core.api.score.holder.ScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
public final class HardSoftBigDecimalScoreHolderImpl extends AbstractScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore> implements org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
- See Also:
HardSoftBigDecimalScore
-
-
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 org.optaplanner.core.api.score.AbstractScore<Score_>>
-
-
Field Summary
Fields Modifier and Type Field Description protected BigDecimal
hardScore
protected Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.BigDecimalMatchExecutor>
matchExecutorByNumberMap
protected Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.ScoreMatchExecutor<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>>
matchExecutorByScoreMap
Slower thanmatchExecutorByNumberMap
protected BigDecimal
softScore
-
Fields inherited from class org.optaplanner.constraint.drl.holder.AbstractScoreHolder
constraintMatchEnabled, constraintMatchTotalMap, indictmentMap
-
-
Constructor Summary
Constructors Constructor Description HardSoftBigDecimalScoreHolderImpl(boolean constraintMatchEnabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeight)
void
addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeight, BigDecimal softWeight)
void
addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal softWeight)
void
configureConstraintWeight(org.kie.api.definition.rule.Rule rule, org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore constraintWeight)
org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore
extractScore(int initScore)
BigDecimal
getHardScore()
BigDecimal
getSoftScore()
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 hardWeightMultiplier, BigDecimal softWeightMultiplier)
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 hardWeightMultiplier, BigDecimal softWeightMultiplier)
-
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
-
matchExecutorByScoreMap
protected final Map<org.kie.api.definition.rule.Rule,AbstractScoreHolder.ScoreMatchExecutor<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>> matchExecutorByScoreMap
Slower thanmatchExecutorByNumberMap
-
hardScore
protected BigDecimal hardScore
-
softScore
protected BigDecimal softScore
-
-
Method Detail
-
getHardScore
public BigDecimal getHardScore()
-
getSoftScore
public BigDecimal getSoftScore()
-
configureConstraintWeight
public void configureConstraintWeight(org.kie.api.definition.rule.Rule rule, org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore constraintWeight)
- Overrides:
configureConstraintWeight
in classAbstractScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext)
- Specified by:
penalize
in interfaceorg.optaplanner.core.api.score.holder.ScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
- Specified by:
penalize
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
penalize
public void penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeightMultiplier, BigDecimal softWeightMultiplier)
- Specified by:
penalize
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext)
- Specified by:
reward
in interfaceorg.optaplanner.core.api.score.holder.ScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
- Specified by:
reward
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
reward
public void reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeightMultiplier, BigDecimal softWeightMultiplier)
- Specified by:
reward
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
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<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
- 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<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
- 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<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
- 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 interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
- Specified by:
impactScore
in classAbstractScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
- Parameters:
kcontext
- never nullweightMultiplier
- any
-
addHardConstraintMatch
public void addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeight)
- Specified by:
addHardConstraintMatch
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
addSoftConstraintMatch
public void addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal softWeight)
- Specified by:
addSoftConstraintMatch
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
addMultiConstraintMatch
public void addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeight, BigDecimal softWeight)
- Specified by:
addMultiConstraintMatch
in interfaceorg.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScoreHolder
-
extractScore
public org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore extractScore(int initScore)
- Specified by:
extractScore
in classAbstractScoreHolder<org.optaplanner.core.api.score.buildin.hardsoftbigdecimal.HardSoftBigDecimalScore>
-
-