Interface Notification<Solution_,ChangeEvent_ extends ChangeEvent,T extends InnerVariableListener<Solution_,ChangeEvent_>>
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotationT- the variable listener type
- All Known Subinterfaces:
BasicVariableNotification<Solution_>,EntityNotification<Solution_,,ChangeEvent_> ListVariableNotification<Solution_>
- All Known Implementing Classes:
ListVariableChangedNotification
Notifiable registered for the subject of the change.
Each implementation is tailored to a specific InnerVariableListener and triggers on the listener
the pair of "before/after" methods corresponding to the type of change it represents.
For example, if there is a shadow variable sourced on the Process.computer genuine planning variable,
then there is a notifiable F registered for the Process.computer planning variable, and it holds a basic
variable listener L.
When Process X is moved from Computer A to Computer B, a notification N is created and added
to notifiable F's queue. The notification N triggers
InnerVariableListener.beforeChange(InnerScoreDirector, ChangeEvent) L.beforeChanged(scoreDirector, Process X)}
immediately.
Later, when F.triggerAllNotifications() is called, N is taken from
the queue and triggers InnerVariableListener.afterChange(InnerScoreDirector, ChangeEvent).
-
Method Summary
Modifier and TypeMethodDescriptionstatic <Solution_>
ListVariableNotification<Solution_>elementUnassigned(Object element) An element was unassigned from a list variable.static <Solution_>
ListVariableChangedNotification<Solution_>listVariableChanged(Object entity, int fromIndex, int toIndex) A list variable change occurs onentitybetweenfromIndexandtoIndex.voidtriggerAfter(T variableListener, InnerScoreDirector<Solution_, ?> scoreDirector) TriggervariableListener's after method corresponding to this notification.voidtriggerBefore(T variableListener, InnerScoreDirector<Solution_, ?> scoreDirector) TriggervariableListener's before method corresponding to this notification.static <Solution_>
BasicVariableNotification<Solution_>variableChanged(Object entity) Basic genuine or shadow planning variable changed onentity.
-
Method Details
-
variableChanged
Basic genuine or shadow planning variable changed onentity. -
elementUnassigned
An element was unassigned from a list variable. -
listVariableChanged
static <Solution_> ListVariableChangedNotification<Solution_> listVariableChanged(Object entity, int fromIndex, int toIndex) A list variable change occurs onentitybetweenfromIndexandtoIndex. -
triggerBefore
TriggervariableListener's before method corresponding to this notification. -
triggerAfter
TriggervariableListener's after method corresponding to this notification.
-