Class NonBlockingFiniteStateMachine.SubsequentEvent<S extends Enum<S>>

java.lang.Object
com.tangosol.util.fsm.NonBlockingFiniteStateMachine.SubsequentEvent<S>
Type Parameters:
S - the state type of the FiniteStateMachine
All Implemented Interfaces:
Event<S>, LifecycleAwareEvent<S>
Enclosing class:
NonBlockingFiniteStateMachine<S extends Enum<S>>

public static class NonBlockingFiniteStateMachine.SubsequentEvent<S extends Enum<S>> extends Object implements LifecycleAwareEvent<S>
A NonBlockingFiniteStateMachine.SubsequentEvent is an Event that ensures that another (wrapped) Event to occur if an only if the FiniteStateMachine is at a certain transition count. Should an attempt to process the wrapped Event occur at another transition count, processing of the said event is ignored.

NonBlockingFiniteStateMachine.SubsequentEvents are designed to provide the ability for future scheduled Events to be skipped if another Event has been processed between the time when the NonBlockingFiniteStateMachine.SubsequentEvent was requested to be processed and when it was actually processed. That is, the purpose of this is to allow an Event to be skipped if other Events interleave between the time when the said Event was actually scheduled and when it was actually meant to be processed.