public class PillarChangeMove extends AbstractMove
| Modifier and Type | Field and Description |
|---|---|
protected List<Object> |
pillar |
protected Object |
toPlanningValue |
protected GenuineVariableDescriptor |
variableDescriptor |
| Constructor and Description |
|---|
PillarChangeMove(List<Object> pillar,
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.
|
protected void |
doMoveOnGenuineVariables(ScoreDirector scoreDirector)
Like
AbstractMove.doMove(ScoreDirector) but without the ScoreDirector.triggerVariableListeners() call
(because AbstractMove.doMove(ScoreDirector) already does that). |
boolean |
equals(Object o) |
List<Object> |
getPillar() |
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.
|
Object |
getToPlanningValue() |
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 GenuineVariableDescriptor variableDescriptor
protected final Object toPlanningValue
public PillarChangeMove(List<Object> pillar, GenuineVariableDescriptor variableDescriptor, Object toPlanningValue)
public Object getToPlanningValue()
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.