Package com.tangosol.util.fsm
Contains Finite state machine interfaces.
-
Interface Summary Interface Description Event<S extends Enum<S>> AnEvent
captures the information that may trigger aTransition
in aFiniteStateMachine
from one state to another.ExecutionContext Provides contextual information about aFiniteStateMachine
, typically to aid in runtime decision making for actions (eg:TransitionAction
s,StateEntryAction
s and/orStateExitAction
s) andEvent
s.FiniteStateMachine<S extends Enum<S>> AFiniteStateMachine
implements a general purpose finite-state-machine.FiniteStateMachineListener<S extends Enum<S>> A FiniteStateMachineListener listens for state related events on aFiniteStateMachine
.Instruction A marker interface forInstruction
s toFiniteStateMachine
s.LifecycleAwareEvent<S extends Enum<S>> ALifecycleAwareEvent
is a specializedEvent
that receives callbacks during the processing of theEvent
by aFiniteStateMachine
.Model<S extends Enum<S>> AModel
represents the definition of aFiniteStateMachine
, the set of known states,Transition
s between said states andStateEntryAction
s /StateExitAction
s to be performed when said states are changed.NonBlockingFiniteStateMachine.TaskDependencies Dependencies for Task.StateEntryAction<S extends Enum<S>> AStateEntryAction
encapsulates the actions to be performed by aFiniteStateMachine
when a particular state is entered.StateExitAction<S extends Enum<S>> AStateExitAction
encapsulates the actions to be performed by aFiniteStateMachine
when leaving a known state.TransitionAction<S extends Enum<S>> ATransitionAction
encapsulates the actions to be performed as part of theTransition
from one state to another. -
Class Summary Class Description AnnotationDrivenModel<S extends Enum<S>> AnAnnotationDrivenModel
is aModel
created through extracting information defined byTransitions
annotation.Instruction.ProcessEvent<S extends Enum<S>> Instruction.TransitionTo<S extends Enum<S>> NonBlockingFiniteStateMachine<S extends Enum<S>> AnNonBlockingFiniteStateMachine
is a specializedFiniteStateMachine
implementation that performs transitions asynchronously to the threads that request state changes.NonBlockingFiniteStateMachine.CoalescedEvent<S extends Enum<S>> ANonBlockingFiniteStateMachine.CoalescedEvent
is aLifecycleAwareEvent
that coalesces other (wrapped)Event
s with the same discriminator so that only oneEvent
actually executes.NonBlockingFiniteStateMachine.CoalescedEvent.Discriminator ANonBlockingFiniteStateMachine.CoalescedEvent.Discriminator
is an object that is used to uniquely differentiate events to be coalesced, scoped by aNonBlockingFiniteStateMachine
.NonBlockingFiniteStateMachine.DefaultTaskDependencies Implementation of Dependencies for TaskNonBlockingFiniteStateMachine.DelayedTransitionTo<S extends Enum<S>> ANonBlockingFiniteStateMachine.DelayedTransitionTo
is a specializedInstruction
forNonBlockingFiniteStateMachine
s that enables aStateEntryAction
to request a delayed transition to another state, unlike aInstruction.TransitionTo
Instruction
which occurs immediately.NonBlockingFiniteStateMachine.ProcessEventLater<S extends Enum<S>> A specializedInstruction
forNonBlockingFiniteStateMachine
s that enables aStateEntryAction
to request anEvent
to be processed at some point in the future.NonBlockingFiniteStateMachine.SubsequentEvent<S extends Enum<S>> ANonBlockingFiniteStateMachine.SubsequentEvent
is anEvent
that ensures that another (wrapped)Event
to occur if an only if theFiniteStateMachine
is at a certain transition count.ReflectionHelper A collection of utilities to assist in using Reflection to create objects.Render Provides Render capabilities forFiniteStateMachine
s, in particular theirModel
s.SimpleModel<S extends Enum<S>> Transition<S extends Enum<S>> ATransition
represents a transition in aFiniteStateMachine
from one or more possible states to a desired state. -
Enum Summary Enum Description NonBlockingFiniteStateMachine.CoalescedEvent.Process TheNonBlockingFiniteStateMachine.CoalescedEvent
to process. -
Exception Summary Exception Description RollbackTransitionException ARollbackTransitionException
may be thrown during anTransitionAction
for aTransition
if the saidTransition
should be aborted.