Class AbstractScoreHolder<Score_ extends Score<Score_>>
- java.lang.Object
 - 
- org.optaplanner.constraint.drl.holder.AbstractScoreHolder<Score_>
 
 
- 
- Type Parameters:
 Score_- theScoretype
- All Implemented Interfaces:
 ScoreHolder<Score_>
- Direct Known Subclasses:
 BendableBigDecimalScoreHolderImpl,BendableLongScoreHolderImpl,BendableScoreHolderImpl,HardMediumSoftBigDecimalScoreHolderImpl,HardMediumSoftLongScoreHolderImpl,HardMediumSoftScoreHolderImpl,HardSoftBigDecimalScoreHolderImpl,HardSoftLongScoreHolderImpl,HardSoftScoreHolderImpl,SimpleBigDecimalScoreHolderImpl,SimpleLongScoreHolderImpl,SimpleScoreHolderImpl
public abstract class AbstractScoreHolder<Score_ extends Score<Score_>> extends Object implements ScoreHolder<Score_>
Abstract superclass forScoreHolder. Instances of this class are used only in DRL. 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceAbstractScoreHolder.BigDecimalMatchExecutorclassAbstractScoreHolder.ConstraintActivationUnMatchListenerprotected static interfaceAbstractScoreHolder.IntMatchExecutorprotected static interfaceAbstractScoreHolder.LongMatchExecutorprotected static interfaceAbstractScoreHolder.ScoreMatchExecutor<Score_ extends AbstractScore<Score_>>UnlikeAbstractScoreHolder.IntMatchExecutorand its counterparts, this is not being used on CS-D code paths. 
- 
Field Summary
Fields Modifier and Type Field Description protected booleanconstraintMatchEnabledprotected Map<String,ConstraintMatchTotal<Score_>>constraintMatchTotalMapprotected Map<Object,Indictment<Score_>>indictmentMap 
- 
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractScoreHolder(boolean constraintMatchEnabled) 
- 
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <Score_ extends Score<Score_>,ScoreHolder_ extends AbstractScoreHolder<Score_>>
ScoreHolder_buildScoreHolder(ScoreDefinition<Score_> scoreDefinition, boolean constraintMatchEnabled)voidconfigureConstraintWeight(org.kie.api.definition.rule.Rule rule, Score_ constraintWeight)protected List<Object>extractJustificationList(org.kie.api.runtime.rule.RuleContext kcontext)abstract Score_extractScore(int initScore)Map<String,ConstraintMatchTotal<Score_>>getConstraintMatchTotalMap()Map<Object,Indictment<Score_>>getIndictmentMap()voidimpactScore(org.kie.api.runtime.rule.RuleContext kcontext)For internal use only, use penalize() or reward() instead.abstract voidimpactScore(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)For internal use only, use penalize() or reward() instead.abstract voidimpactScore(org.kie.api.runtime.rule.RuleContext kcontext, long weightMultiplier)For internal use only, use penalize() or reward() instead.abstract voidimpactScore(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)For internal use only, use penalize() or reward() instead.booleanisConstraintMatchEnabled()protected voidregisterConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, Runnable constraintUndoListener, Supplier<Score_> scoreSupplier)Requires a custom rule event listener to be added as event listener onKieSession, otherwise the score changes caused by the constraint matches would not be undone.- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.optaplanner.core.api.score.holder.ScoreHolder
penalize, reward 
 - 
 
 - 
 
- 
- 
Method Detail
- 
buildScoreHolder
public static <Score_ extends Score<Score_>,ScoreHolder_ extends AbstractScoreHolder<Score_>> ScoreHolder_ buildScoreHolder(ScoreDefinition<Score_> scoreDefinition, boolean constraintMatchEnabled)
 
- 
isConstraintMatchEnabled
public boolean isConstraintMatchEnabled()
 
- 
getConstraintMatchTotalMap
public Map<String,ConstraintMatchTotal<Score_>> getConstraintMatchTotalMap()
 
- 
getIndictmentMap
public Map<Object,Indictment<Score_>> getIndictmentMap()
 
- 
configureConstraintWeight
public void configureConstraintWeight(org.kie.api.definition.rule.Rule rule, Score_ constraintWeight) 
- 
registerConstraintMatch
protected void registerConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, Runnable constraintUndoListener, Supplier<Score_> scoreSupplier)Requires a custom rule event listener to be added as event listener onKieSession, otherwise the score changes caused by the constraint matches would not be undone. SeeDrlScoreDirector.setWorkingSolution(Object)for an example.- Parameters:
 kcontext- The rule for which to register the match.constraintUndoListener- The operation to run to undo the match.scoreSupplier- The score change to be undone when constraint justification enabled.
 
- 
impactScore
public void impactScore(org.kie.api.runtime.rule.RuleContext kcontext)
For internal use only, use penalize() or reward() instead.- Parameters:
 kcontext- never null
 
- 
impactScore
public abstract void impactScore(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)For internal use only, use penalize() or reward() instead.- Parameters:
 kcontext- never nullweightMultiplier- any
 
- 
impactScore
public abstract void impactScore(org.kie.api.runtime.rule.RuleContext kcontext, long weightMultiplier)For internal use only, use penalize() or reward() instead.- Parameters:
 kcontext- never nullweightMultiplier- any
 
- 
impactScore
public abstract void impactScore(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)For internal use only, use penalize() or reward() instead.- Parameters:
 kcontext- never nullweightMultiplier- any
 
- 
extractScore
public abstract Score_ extractScore(int initScore)
 
 - 
 
 -