public class SubChainChangeMove extends AbstractMove
| Modifier and Type | Field and Description | 
|---|---|
| protected SingletonInverseVariableSupply | inverseVariableSupply | 
| Constructor and Description | 
|---|
| SubChainChangeMove(SubChain subChain,
                  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 theScoreDirector.triggerVariableListeners()call
 (becauseAbstractMove.doMove(ScoreDirector)already does that). | 
| boolean | equals(Object o) | 
| Collection<? extends Object> | getPlanningEntities()Returns all planning entities that are being changed by this move. | 
| Collection<? extends Object> | getPlanningValues()Returns all planning values that entities are being assigned to by this move. | 
| String | getSimpleMoveTypeDescription()Describes the move type for statistical purposes. | 
| int | hashCode() | 
| boolean | isMoveDoable(ScoreDirector scoreDirector)Called before a move is evaluated to decide whether the move can be done and evaluated. | 
| String | toString() | 
doMoveprotected final SingletonInverseVariableSupply inverseVariableSupply
public SubChainChangeMove(SubChain subChain, 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.
scoreDirector - the ScoreDirector not yet modified by the move.public Move createUndoMove(ScoreDirector scoreDirector)
MovescoreDirector - 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 AbstractMovescoreDirector - never nullpublic String getSimpleMoveTypeDescription()
Move
 The format is not formalized. Never parse the String returned by this method.
getSimpleMoveTypeDescription in interface MovegetSimpleMoveTypeDescription in class AbstractMovepublic Collection<? extends Object> getPlanningEntities()
MoveAcceptorType.ENTITY_TABU.
 
 Duplicates entries in the returned Collection are best avoided.
 The returned Collection is recommended to be in a stable order.
 For example: use List or LinkedHashSet, but not HashSet.
public Collection<? extends Object> getPlanningValues()
MoveAcceptorType.VALUE_TABU.
 
 Duplicates entries in the returned Collection are best avoided.
 The returned Collection is recommended to be in a stable order.
 For example: use List or LinkedHashSet, but not HashSet.
Copyright © 2006–2016 JBoss by Red Hat. All rights reserved.