Entity_ - @PlanningEntity on which the variable is declaredpublic interface VariableListener<Entity_> extends Closeable
Important: it must only change the shadow variable(s) for which it's configured! It should never change a genuine variable or a problem fact. It can change its shadow variable(s) on multiple entity instances (for example: an arrivalTime change affects all trailing entities too).
It is recommended that implementations be kept stateless.
If state must be implemented, implementations may need to override the default methods
(resetWorkingSolution(ScoreDirector), close()).
| Modifier and Type | Method and Description |
|---|---|
void |
afterEntityAdded(ScoreDirector scoreDirector,
Entity_ entity) |
void |
afterEntityRemoved(ScoreDirector scoreDirector,
Entity_ entity) |
void |
afterVariableChanged(ScoreDirector scoreDirector,
Entity_ entity) |
void |
beforeEntityAdded(ScoreDirector scoreDirector,
Entity_ entity) |
void |
beforeEntityRemoved(ScoreDirector scoreDirector,
Entity_ entity) |
void |
beforeVariableChanged(ScoreDirector scoreDirector,
Entity_ entity) |
default void |
close() |
default boolean |
requiresUniqueEntityEvents()
When set to
true, this has a slight performance loss in Planner. |
default void |
resetWorkingSolution(ScoreDirector scoreDirector)
Called when the entire working solution changes.
|
default boolean requiresUniqueEntityEvents()
true, this has a slight performance loss in Planner.
When set to false, it's often easier to make the listener implementation correct and fast.void beforeEntityAdded(ScoreDirector scoreDirector, Entity_ entity)
scoreDirector - never nullentity - never nullvoid afterEntityAdded(ScoreDirector scoreDirector, Entity_ entity)
scoreDirector - never nullentity - never nullvoid beforeVariableChanged(ScoreDirector scoreDirector, Entity_ entity)
scoreDirector - never nullentity - never nullvoid afterVariableChanged(ScoreDirector scoreDirector, Entity_ entity)
scoreDirector - never nullentity - never nullvoid beforeEntityRemoved(ScoreDirector scoreDirector, Entity_ entity)
scoreDirector - never nullentity - never nullvoid afterEntityRemoved(ScoreDirector scoreDirector, Entity_ entity)
scoreDirector - never nullentity - never nulldefault void resetWorkingSolution(ScoreDirector scoreDirector)
scoreDirector - never nulldefault void close()
close in interface AutoCloseableclose in interface CloseableCopyright © 2006–2021 JBoss by Red Hat. All rights reserved.