Package com.tangosol.util.fsm
package com.tangosol.util.fsm
Contains Finite state machine interfaces.
-
ClassDescriptionAnnotationDrivenModel<S extends Enum<S>>An
AnnotationDrivenModelis aModelcreated through extracting information defined byTransitionsannotation.AnEventcaptures the information that may trigger aTransitionin aFiniteStateMachinefrom one state to another.Provides contextual information about aFiniteStateMachine, typically to aid in runtime decision making for actions (eg:TransitionActions,StateEntryActions and/orStateExitActions) andEvents.FiniteStateMachine<S extends Enum<S>>AFiniteStateMachineimplements a general purpose finite-state-machine.FiniteStateMachineListener<S extends Enum<S>>A FiniteStateMachineListener listens for state related events on aFiniteStateMachine.A marker interface forInstructions toFiniteStateMachines.Instruction.ProcessEvent<S extends Enum<S>>Instruction.TransitionTo<S extends Enum<S>>LifecycleAwareEvent<S extends Enum<S>>ALifecycleAwareEventis a specializedEventthat receives callbacks during the processing of theEventby aFiniteStateMachine.AModelrepresents the definition of aFiniteStateMachine, the set of known states,Transitions between said states andStateEntryActions /StateExitActions to be performed when said states are changed.NonBlockingFiniteStateMachine<S extends Enum<S>>AnNonBlockingFiniteStateMachineis a specializedFiniteStateMachineimplementation that performs transitions asynchronously to the threads that request state changes.NonBlockingFiniteStateMachine.CoalescedEvent<S extends Enum<S>>ANonBlockingFiniteStateMachine.CoalescedEventis aLifecycleAwareEventthat coalesces other (wrapped)Events with the same discriminator so that only oneEventactually executes.ANonBlockingFiniteStateMachine.CoalescedEvent.Discriminatoris an object that is used to uniquely differentiate events to be coalesced, scoped by aNonBlockingFiniteStateMachine.TheNonBlockingFiniteStateMachine.CoalescedEventto process.Implementation of Dependencies for TaskNonBlockingFiniteStateMachine.DelayedTransitionTo<S extends Enum<S>>ANonBlockingFiniteStateMachine.DelayedTransitionTois a specializedInstructionforNonBlockingFiniteStateMachines that enables aStateEntryActionto request a delayed transition to another state, unlike aInstruction.TransitionToInstructionwhich occurs immediately.NonBlockingFiniteStateMachine.ProcessEventLater<S extends Enum<S>>A specializedInstructionforNonBlockingFiniteStateMachines that enables aStateEntryActionto request anEventto be processed at some point in the future.NonBlockingFiniteStateMachine.SubsequentEvent<S extends Enum<S>>ANonBlockingFiniteStateMachine.SubsequentEventis anEventthat ensures that another (wrapped)Eventto occur if an only if theFiniteStateMachineis at a certain transition count.Dependencies for Task.A collection of utilities to assist in using Reflection to create objects.Provides Render capabilities forFiniteStateMachines, in particular theirModels.ARollbackTransitionExceptionmay be thrown during anTransitionActionfor aTransitionif the saidTransitionshould be aborted.SimpleModel<S extends Enum<S>>StateEntryAction<S extends Enum<S>>AStateEntryActionencapsulates the actions to be performed by aFiniteStateMachinewhen a particular state is entered.StateExitAction<S extends Enum<S>>AStateExitActionencapsulates the actions to be performed by aFiniteStateMachinewhen leaving a known state.Transition<S extends Enum<S>>ATransitionrepresents a transition in aFiniteStateMachinefrom one or more possible states to a desired state.TransitionAction<S extends Enum<S>>ATransitionActionencapsulates the actions to be performed as part of theTransitionfrom one state to another.