public class ChainedChangeMove extends ChangeMove
| Modifier and Type | Field and Description |
|---|---|
protected SingletonInverseVariableSupply |
inverseVariableSupply |
entity, toPlanningValue, variableDescriptor| Constructor and Description |
|---|
ChainedChangeMove(Object entity,
GenuineVariableDescriptor variableDescriptor,
SingletonInverseVariableSupply inverseVariableSupply,
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.
|
protected void |
doMoveOnGenuineVariables(ScoreDirector scoreDirector)
Like
AbstractMove.doMove(ScoreDirector) but without the ScoreDirector.triggerVariableListeners() call
(because AbstractMove.doMove(ScoreDirector) already does that). |
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, toStringdoMoveprotected final SingletonInverseVariableSupply inverseVariableSupply
public ChainedChangeMove(Object entity, GenuineVariableDescriptor variableDescriptor, SingletonInverseVariableSupply inverseVariableSupply, Object toPlanningValue)
public boolean isMoveDoable(ScoreDirector scoreDirector)
MoveSolution.It is recommended to keep this method implementation simple: do not use it in an attempt to satisfy normal hard and soft constraints.
Although you could also filter out non-doable moves in for example the MoveSelector
or MoveListFactory, this is not needed as the Solver will do it for you.
isMoveDoable in interface MoveisMoveDoable in class ChangeMovescoreDirector - the ScoreDirector not yet modified by the move.public Move createUndoMove(ScoreDirector scoreDirector)
MovecreateUndoMove in interface MovecreateUndoMove in class ChangeMovescoreDirector - the ScoreDirector not yet modified by the move.protected void doMoveOnGenuineVariables(ScoreDirector scoreDirector)
AbstractMoveAbstractMove.doMove(ScoreDirector) but without the ScoreDirector.triggerVariableListeners() call
(because AbstractMove.doMove(ScoreDirector) already does that).doMoveOnGenuineVariables in class ChangeMovescoreDirector - never nullCopyright © 2006–2016 JBoss by Red Hat. All rights reserved.