org.drools.planner.core.score.director
Class AbstractScoreDirector<F extends ScoreDirectorFactory>
java.lang.Object
org.drools.planner.core.score.director.AbstractScoreDirector<F>
- All Implemented Interfaces:
- ScoreDirector
- Direct Known Subclasses:
- DroolsScoreDirector, IncrementalScoreDirector, SimpleScoreDirector
public abstract class AbstractScoreDirector<F extends ScoreDirectorFactory>
- extends Object
- implements ScoreDirector
Abstract superclass for ScoreDirector.
- See Also:
ScoreDirector
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.drools.planner.core.score.director.ScoreDirector |
afterAllVariablesChanged, afterEntityAdded, afterEntityRemoved, afterProblemFactAdded, afterProblemFactChanged, afterProblemFactRemoved, afterVariableChanged, beforeAllVariablesChanged, beforeEntityAdded, beforeEntityRemoved, beforeProblemFactAdded, beforeProblemFactChanged, beforeProblemFactRemoved, beforeVariableChanged, calculateScore, dispose, setWorkingSolution |
logger
protected final transient org.slf4j.Logger logger
scoreDirectorFactory
protected final F extends ScoreDirectorFactory scoreDirectorFactory
workingSolution
protected Solution workingSolution
calculateCount
protected long calculateCount
AbstractScoreDirector
protected AbstractScoreDirector(F scoreDirectorFactory)
getSolutionDescriptor
public SolutionDescriptor getSolutionDescriptor()
- Specified by:
getSolutionDescriptor in interface ScoreDirector
- Returns:
- never null
getScoreDefinition
public ScoreDefinition getScoreDefinition()
- Specified by:
getScoreDefinition in interface ScoreDirector
- Returns:
- never null
getWorkingSolution
public Solution getWorkingSolution()
- Description copied from interface:
ScoreDirector
- The
Solution that is used to calculate the Score.
Because a Score is best calculated incrementally (by delta's),
the ScoreDirector needs to be notified when it's workingSolution changes.
If the Solution has been changed since ScoreDirector.calculateScore() has been called,
the Solution.getScore() of this Solution won't be correct.
- Specified by:
getWorkingSolution in interface ScoreDirector
- Returns:
- never null
getCalculateCount
public long getCalculateCount()
- Specified by:
getCalculateCount in interface ScoreDirector
- Returns:
- at least 0L
getWorkingPlanningEntityList
public List<Object> getWorkingPlanningEntityList()
- Specified by:
getWorkingPlanningEntityList in interface ScoreDirector
- Returns:
- never null: an empty list if there are none
isWorkingSolutionInitialized
public boolean isWorkingSolutionInitialized()
- Specified by:
isWorkingSolutionInitialized in interface ScoreDirector
- Returns:
- true if the workingSolution is initialized
getVariableToEntitiesMap
public Map<Object,List<Object>> getVariableToEntitiesMap(PlanningVariableDescriptor variableDescriptor)
- Specified by:
getVariableToEntitiesMap in interface ScoreDirector
- Parameters:
variableDescriptor - never null
- Returns:
- never null
assertWorkingScore
public void assertWorkingScore(Score workingScore)
- Specified by:
assertWorkingScore in interface ScoreDirector
- Parameters:
workingScore - never null
buildScoreCorruptionAnalysis
protected String buildScoreCorruptionAnalysis(ScoreDirector uncorruptedScoreDirector)
Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.