public class ChainedChangeMove extends ChangeMove
entity, toPlanningValue, variableDescriptor
Constructor and Description |
---|
ChainedChangeMove(Object entity,
GenuineVariableDescriptor variableDescriptor,
Object toPlanningValue) |
Modifier and Type | Method and Description |
---|---|
Move |
createUndoMove(ScoreDirector scoreDirector)
Called before the move is done, so the move can be evaluated and then be undone
without resulting into a permanent change in the solution.
|
void |
doMove(ScoreDirector scoreDirector)
Does the Move and updates the
Solution and its ScoreDirector accordingly. |
boolean |
isMoveDoable(ScoreDirector scoreDirector)
Called before a move is evaluated to decide whether the move can be done and evaluated.
|
equals, getEntity, getPlanningEntities, getPlanningValues, getSimpleMoveTypeDescription, getToPlanningValue, hashCode, toString
public ChainedChangeMove(Object entity, GenuineVariableDescriptor variableDescriptor, Object toPlanningValue)
public boolean isMoveDoable(ScoreDirector scoreDirector)
Move
Solution
.MoveSelector
or MoveListFactory
, this is not needed as the Solver
will do it for you.isMoveDoable
in interface Move
isMoveDoable
in class ChangeMove
scoreDirector
- the ScoreDirector
not yet modified by the move.public Move createUndoMove(ScoreDirector scoreDirector)
Move
createUndoMove
in interface Move
createUndoMove
in class ChangeMove
scoreDirector
- the ScoreDirector
not yet modified by the move.public void doMove(ScoreDirector scoreDirector)
Move
Solution
and its ScoreDirector
accordingly.
When the Solution
is modified, the ScoreDirector
should be correctly notified,
otherwise later calculated Score
s can be corrupted.doMove
in interface Move
doMove
in class ChangeMove
scoreDirector
- never null, the ScoreDirector
that needs to get notified of the changes.Copyright © 2006-2015 JBoss by Red Hat. All Rights Reserved.