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 AutoCloseable
close
in interface Closeable
Copyright © 2006–2021 JBoss by Red Hat. All rights reserved.