Package com.tangosol.util.fsm
package com.tangosol.util.fsm
Contains Finite state machine interfaces.
-
ClassDescriptionAnnotationDrivenModel<S extends Enum<S>>An
AnnotationDrivenModel
is aModel
created through extracting information defined byTransitions
annotation.AnEvent
captures the information that may trigger aTransition
in aFiniteStateMachine
from one state to another.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
.A marker interface forInstruction
s toFiniteStateMachine
s.Instruction.ProcessEvent<S extends Enum<S>>Instruction.TransitionTo<S extends Enum<S>>LifecycleAwareEvent<S extends Enum<S>>ALifecycleAwareEvent
is a specializedEvent
that receives callbacks during the processing of theEvent
by aFiniteStateMachine
.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<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.ANonBlockingFiniteStateMachine.CoalescedEvent.Discriminator
is an object that is used to uniquely differentiate events to be coalesced, scoped by aNonBlockingFiniteStateMachine
.TheNonBlockingFiniteStateMachine.CoalescedEvent
to process.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.Dependencies for Task.A collection of utilities to assist in using Reflection to create objects.Provides Render capabilities forFiniteStateMachine
s, in particular theirModel
s.ARollbackTransitionException
may be thrown during anTransitionAction
for aTransition
if the saidTransition
should be aborted.SimpleModel<S extends Enum<S>>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.Transition<S extends Enum<S>>ATransition
represents a transition in aFiniteStateMachine
from one or more possible states to a desired state.TransitionAction<S extends Enum<S>>ATransitionAction
encapsulates the actions to be performed as part of theTransition
from one state to another.