public interface VariableListener<Entity_> extends Supply
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).
Each ScoreDirector
has a different VariableListener
instance, so it can be stateful.
If it is stateful, it must implement StatefulVariableListener
.
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 boolean |
requiresUniqueEntityEvents()
When set to
true , this has a slight performance loss in Planner. |
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 nullCopyright © 2006–2020 JBoss by Red Hat. All rights reserved.