public class HardMediumSoftBigDecimalScoreHolder extends AbstractScoreHolder<HardMediumSoftBigDecimalScore>
HardMediumSoftBigDecimalScore
,
Serialized FormAbstractScoreHolder.ConstraintActivationUnMatchListener
Modifier and Type | Field and Description |
---|---|
protected BigDecimal |
hardScore |
protected Map<org.kie.api.definition.rule.Rule,BiConsumer<org.kie.api.runtime.rule.RuleContext,BigDecimal>> |
matchExecutorByNumberMap |
protected Map<org.kie.api.definition.rule.Rule,BiConsumer<org.kie.api.runtime.rule.RuleContext,HardMediumSoftBigDecimalScore>> |
matchExecutorByScoreMap
Slower than
matchExecutorByNumberMap |
protected BigDecimal |
mediumScore |
protected BigDecimal |
softScore |
constraintMatchEnabled, constraintMatchTotalMap, indictmentMap, zeroScore
Constructor and Description |
---|
HardMediumSoftBigDecimalScoreHolder(boolean constraintMatchEnabled) |
Modifier and Type | Method and Description |
---|---|
void |
addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal hardWeight)
Add a hard constraint of specified weighting.
|
void |
addMediumConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal mediumWeight)
Add a medium level constraint of specified weighting.
|
void |
addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal hardWeight,
BigDecimal mediumWeight,
BigDecimal softWeight) |
void |
addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal softWeight)
Add a soft constraint match of specified weighting.
|
void |
configureConstraintWeight(org.kie.api.definition.rule.Rule rule,
HardMediumSoftBigDecimalScore constraintWeight)
Sets up a
ConstraintWeight from the ConstraintConfiguration during initialization. |
HardMediumSoftBigDecimalScore |
extractScore(int initScore)
|
BigDecimal |
getHardScore() |
BigDecimal |
getMediumScore() |
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,
BigDecimal weightMultiplier)
For internal use only, use penalize() or reward() instead.
|
void |
penalize(org.kie.api.runtime.rule.RuleContext kcontext)
Penalize a match by the
ConstraintWeight negated. |
void |
penalize(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal 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,
BigDecimal hardWeightMultiplier,
BigDecimal mediumWeightMultiplier,
BigDecimal softWeightMultiplier)
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)
Reward a match by the
ConstraintWeight . |
void |
reward(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal weightMultiplier)
Reward a match by the
ConstraintWeight multiplied with the weightMultiplier for all score levels. |
void |
reward(org.kie.api.runtime.rule.RuleContext kcontext,
BigDecimal hardWeightMultiplier,
BigDecimal mediumWeightMultiplier,
BigDecimal softWeightMultiplier)
Reward a match by the
ConstraintWeight multiplied with the specific weightMultiplier per score level. |
extractJustificationList, getConstraintMatchTotalMap, getConstraintMatchTotals, getIndictmentMap, impactScore, impactScore, isConstraintMatchEnabled, registerConstraintMatch, setJustificationListConverter
protected final Map<org.kie.api.definition.rule.Rule,BiConsumer<org.kie.api.runtime.rule.RuleContext,BigDecimal>> matchExecutorByNumberMap
protected final Map<org.kie.api.definition.rule.Rule,BiConsumer<org.kie.api.runtime.rule.RuleContext,HardMediumSoftBigDecimalScore>> matchExecutorByScoreMap
matchExecutorByNumberMap
protected BigDecimal hardScore
protected BigDecimal mediumScore
protected BigDecimal softScore
public HardMediumSoftBigDecimalScoreHolder(boolean constraintMatchEnabled)
public BigDecimal getHardScore()
public BigDecimal getMediumScore()
public BigDecimal getSoftScore()
public void configureConstraintWeight(org.kie.api.definition.rule.Rule rule, HardMediumSoftBigDecimalScore constraintWeight)
ScoreHolder
ConstraintWeight
from the ConstraintConfiguration
during initialization.configureConstraintWeight
in interface ScoreHolder<HardMediumSoftBigDecimalScore>
configureConstraintWeight
in class AbstractScoreHolder<HardMediumSoftBigDecimalScore>
rule
- never nullconstraintWeight
- never null, with Score.getInitScore()
equal to 0.public void penalize(org.kie.api.runtime.rule.RuleContext kcontext)
ConstraintWeight
negated.kcontext
- never null, the magic variable in DRLpublic void penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
ConstraintWeight
negated and multiplied with the weightMultiplier for all score levels.kcontext
- never null, the magic variable in DRLweightMultiplier
- at least 0public void penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeightMultiplier, BigDecimal mediumWeightMultiplier, BigDecimal softWeightMultiplier)
ConstraintWeight
negated and multiplied with the specific weightMultiplier per score level.
Slower than penalize(RuleContext, BigDecimal)
.kcontext
- never null, the magic variable in DRLhardWeightMultiplier
- at least 0mediumWeightMultiplier
- at least 0softWeightMultiplier
- at least 0public void reward(org.kie.api.runtime.rule.RuleContext kcontext)
ConstraintWeight
.kcontext
- never null, the magic variable in DRLpublic void reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
ConstraintWeight
multiplied with the weightMultiplier for all score levels.kcontext
- never null, the magic variable in DRLweightMultiplier
- at least 0public void reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeightMultiplier, BigDecimal mediumWeightMultiplier, BigDecimal softWeightMultiplier)
ConstraintWeight
multiplied with the specific weightMultiplier per score level.
Slower than reward(RuleContext, BigDecimal)
.kcontext
- never null, the magic variable in DRLhardWeightMultiplier
- at least 0mediumWeightMultiplier
- at least 0softWeightMultiplier
- at least 0public void impactScore(org.kie.api.runtime.rule.RuleContext kcontext)
AbstractScoreHolder
impactScore
in class AbstractScoreHolder<HardMediumSoftBigDecimalScore>
kcontext
- never nullpublic void impactScore(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
AbstractScoreHolder
impactScore
in class AbstractScoreHolder<HardMediumSoftBigDecimalScore>
kcontext
- never nullweightMultiplier
- anypublic void addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeight)
kcontext
- never null, the magic variable in DRLhardWeight
- never null, higher is better, negative for a penalty, positive for a rewardpublic void addMediumConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal mediumWeight)
kcontext
- never null, the magic variable in DRLmediumWeight
- never null, higher is better, negative for a penalty, positive for a rewardpublic void addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal softWeight)
kcontext
- never null, the magic variable in DRLsoftWeight
- never null, higher is better, negative for a penalty, positive for a rewardpublic void addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal hardWeight, BigDecimal mediumWeight, BigDecimal softWeight)
kcontext
- never null, the magic variable in DRLhardWeight
- never null, higher is better, negative for a penalty, positive for a rewardmediumWeight
- never null, higher is better, negative for a penalty, positive for a rewardsoftWeight
- never null, higher is better, negative for a penalty, positive for a rewardpublic HardMediumSoftBigDecimalScore extractScore(int initScore)
ScoreHolder
Score
, calculated by the KieSession
for DroolsScoreDirector
.
Should not be called directly, use ScoreDirector.calculateScore()
instead.
initScore
- <= 0
, managed by OptaPlanner, needed as a parameter in the Score
's creation
method, see Score.getInitScore()
Score
of the working PlanningSolution
Copyright © 2006–2020 JBoss by Red Hat. All rights reserved.