Class DroolsConstraintStreamScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>
- java.lang.Object
-
- org.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_>>
-
- org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirector<Solution_,Score_>
-
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- All Implemented Interfaces:
AutoCloseable,Cloneable,org.optaplanner.core.api.score.director.ScoreDirector<Solution_>,org.optaplanner.core.impl.score.director.InnerScoreDirector<Solution_,Score_>
public final class DroolsConstraintStreamScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>> extends org.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_>>
FP streams implementation ofScoreDirector, which only recalculates theScoreof the part of theworking solutionthat changed, instead of the going through the entirePlanningSolution. This is incremental calculation, which is fast.- See Also:
ScoreDirector
-
-
Field Summary
-
Fields inherited from class org.optaplanner.core.impl.score.director.AbstractScoreDirector
allChangesWillBeUndoneBeforeStepEnds, calculationCount, constraintMatchEnabledPreference, logger, lookUpEnabled, lookUpManager, scoreDirectorFactory, variableListenerSupport, workingEntityListRevision, workingInitScore, workingSolution
-
-
Constructor Summary
Constructors Constructor Description DroolsConstraintStreamScoreDirector(DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_> scoreDirectorFactory, boolean lookUpEnabled, boolean constraintMatchEnabledPreference)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterEntityAdded(org.optaplanner.core.impl.domain.entity.descriptor.EntityDescriptor<Solution_> entityDescriptor, Object entity)voidafterEntityRemoved(org.optaplanner.core.impl.domain.entity.descriptor.EntityDescriptor<Solution_> entityDescriptor, Object entity)voidafterProblemFactAdded(Object problemFact)voidafterProblemFactRemoved(Object problemFact)voidafterProblemPropertyChanged(Object problemFactOrEntity)voidafterVariableChanged(org.optaplanner.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_> variableDescriptor, Object entity)Score_calculateScore()voidclose()Map<String,org.optaplanner.core.api.score.constraint.ConstraintMatchTotal<Score_>>getConstraintMatchTotalMap()Map<Object,org.optaplanner.core.api.score.constraint.Indictment<Score_>>getIndictmentMap()booleanisConstraintMatchEnabled()booleanrequiresFlushing()voidsetWorkingSolution(Solution_ workingSolution)-
Methods inherited from class org.optaplanner.core.impl.score.director.AbstractScoreDirector
afterEntityAdded, afterEntityRemoved, afterVariableChanged, assertExpectedUndoMoveScore, assertExpectedWorkingScore, assertNonNullPlanningIds, assertPredictedScoreFromScratch, assertShadowVariablesAreNotStale, assertWorkingScoreFromScratch, beforeEntityAdded, beforeEntityAdded, beforeEntityRemoved, beforeEntityRemoved, beforeProblemFactAdded, beforeProblemFactRemoved, beforeProblemPropertyChanged, beforeVariableChanged, beforeVariableChanged, buildScoreCorruptionAnalysis, buildShadowVariableAnalysis, changeVariableFacade, clone, cloneSolution, cloneWorkingSolution, createChildThreadScoreDirector, createShadowVariablesViolationMessage, doAndProcessMove, doAndProcessMove, getCalculationCount, getScoreDefinition, getScoreDirectorFactory, getSolutionDescriptor, getSupplyManager, getWorkingEntityListRevision, getWorkingSolution, isAllChangesWillBeUndoneBeforeStepEnds, isConstraintConfiguration, isConstraintMatchEnabledPreference, isLookUpEnabled, isWorkingEntityListDirty, lookUpWorkingObject, lookUpWorkingObjectOrReturnNull, overwriteConstraintMatchEnabledPreference, resetCalculationCount, setAllChangesWillBeUndoneBeforeStepEnds, setCalculatedScore, setWorkingEntityListDirty, toString, triggerVariableListeners
-
-
-
-
Constructor Detail
-
DroolsConstraintStreamScoreDirector
public DroolsConstraintStreamScoreDirector(DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_> scoreDirectorFactory, boolean lookUpEnabled, boolean constraintMatchEnabledPreference)
-
-
Method Detail
-
setWorkingSolution
public void setWorkingSolution(Solution_ workingSolution)
- Specified by:
setWorkingSolutionin interfaceorg.optaplanner.core.impl.score.director.InnerScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>- Overrides:
setWorkingSolutionin classorg.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>>
-
calculateScore
public Score_ calculateScore()
-
isConstraintMatchEnabled
public boolean isConstraintMatchEnabled()
-
getConstraintMatchTotalMap
public Map<String,org.optaplanner.core.api.score.constraint.ConstraintMatchTotal<Score_>> getConstraintMatchTotalMap()
-
getIndictmentMap
public Map<Object,org.optaplanner.core.api.score.constraint.Indictment<Score_>> getIndictmentMap()
-
requiresFlushing
public boolean requiresFlushing()
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.optaplanner.core.impl.score.director.InnerScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>- Overrides:
closein classorg.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>>
-
afterEntityAdded
public void afterEntityAdded(org.optaplanner.core.impl.domain.entity.descriptor.EntityDescriptor<Solution_> entityDescriptor, Object entity)
-
afterVariableChanged
public void afterVariableChanged(org.optaplanner.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_> variableDescriptor, Object entity)
- Specified by:
afterVariableChangedin interfaceorg.optaplanner.core.impl.score.director.InnerScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>- Overrides:
afterVariableChangedin classorg.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>>
-
afterEntityRemoved
public void afterEntityRemoved(org.optaplanner.core.impl.domain.entity.descriptor.EntityDescriptor<Solution_> entityDescriptor, Object entity)
-
afterProblemFactAdded
public void afterProblemFactAdded(Object problemFact)
- Specified by:
afterProblemFactAddedin interfaceorg.optaplanner.core.api.score.director.ScoreDirector<Solution_>- Overrides:
afterProblemFactAddedin classorg.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>>
-
afterProblemPropertyChanged
public void afterProblemPropertyChanged(Object problemFactOrEntity)
- Specified by:
afterProblemPropertyChangedin interfaceorg.optaplanner.core.api.score.director.ScoreDirector<Solution_>- Overrides:
afterProblemPropertyChangedin classorg.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>>
-
afterProblemFactRemoved
public void afterProblemFactRemoved(Object problemFact)
- Specified by:
afterProblemFactRemovedin interfaceorg.optaplanner.core.api.score.director.ScoreDirector<Solution_>- Overrides:
afterProblemFactRemovedin classorg.optaplanner.core.impl.score.director.AbstractScoreDirector<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>,DroolsConstraintStreamScoreDirectorFactory<Solution_,Score_ extends org.optaplanner.core.api.score.Score<Score_>>>
-
-