| Interface | Description |
|---|---|
| Event<S extends Enum<S>> |
An
Event captures the information that may trigger a Transition in a FiniteStateMachine from one state to another. |
| ExecutionContext |
Provides contextual information about a
FiniteStateMachine, typically to aid in runtime decision making for actions (eg: TransitionActions, StateEntryActions and/or StateExitActions) and Events. |
| FiniteStateMachine<S extends Enum<S>> |
A
FiniteStateMachine implements a general purpose finite-state-machine. |
| FiniteStateMachineListener<S extends Enum<S>> |
A FiniteStateMachineListener listens for state related events on a
FiniteStateMachine. |
| Instruction |
A marker interface for
Instructions to FiniteStateMachines. |
| LifecycleAwareEvent<S extends Enum<S>> |
A
LifecycleAwareEvent is a specialized Event that receives callbacks during the processing of the Event by a FiniteStateMachine. |
| Model<S extends Enum<S>> |
A
Model represents the definition of a FiniteStateMachine, the set of known states, Transitions between said states and StateEntryActions / StateExitActions to be performed when said states are changed. |
| NonBlockingFiniteStateMachine.TaskDependencies |
Dependencies for Task.
|
| StateEntryAction<S extends Enum<S>> |
A
StateEntryAction encapsulates the actions to be performed by a FiniteStateMachine when a particular state is entered. |
| StateExitAction<S extends Enum<S>> |
A
StateExitAction encapsulates the actions to be performed by a FiniteStateMachine when leaving a known state. |
| TransitionAction<S extends Enum<S>> |
A
TransitionAction encapsulates the actions to be performed as part of the Transition from one state to another. |
| Class | Description |
|---|---|
| AnnotationDrivenModel<S extends Enum<S>> |
An
AnnotationDrivenModel is a Model created through extracting information defined by Transitions annotation. |
| Instruction.ProcessEvent<S extends Enum<S>> | |
| Instruction.TransitionTo<S extends Enum<S>> | |
| NonBlockingFiniteStateMachine<S extends Enum<S>> |
An
NonBlockingFiniteStateMachine is a specialized FiniteStateMachine implementation that performs transitions asynchronously to the threads that request state changes. |
| NonBlockingFiniteStateMachine.CoalescedEvent<S extends Enum<S>> |
A
NonBlockingFiniteStateMachine.CoalescedEvent is a LifecycleAwareEvent that coalesces other (wrapped) Events with the same discriminator so that only one Event actually executes. |
| NonBlockingFiniteStateMachine.CoalescedEvent.Discriminator |
A
NonBlockingFiniteStateMachine.CoalescedEvent.Discriminator is an object that is used to uniquely differentiate events to be coalesced, scoped by a NonBlockingFiniteStateMachine. |
| NonBlockingFiniteStateMachine.DefaultTaskDependencies |
Implementation of Dependencies for Task
|
| NonBlockingFiniteStateMachine.DelayedTransitionTo<S extends Enum<S>> |
A
NonBlockingFiniteStateMachine.DelayedTransitionTo is a specialized Instruction for NonBlockingFiniteStateMachines that enables a StateEntryAction to request a delayed transition to another state, unlike a Instruction.TransitionTo Instruction which occurs immediately. |
| NonBlockingFiniteStateMachine.ProcessEventLater<S extends Enum<S>> |
A specialized
Instruction for NonBlockingFiniteStateMachines that enables a StateEntryAction to request an Event to be processed at some point in the future. |
| NonBlockingFiniteStateMachine.SubsequentEvent<S extends Enum<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. |
| ReflectionHelper |
A collection of utilities to assist in using Reflection to create objects.
|
| Render |
Provides Render capabilities for
FiniteStateMachines, in particular their Models. |
| SimpleModel<S extends Enum<S>> | |
| Transition<S extends Enum<S>> |
A
Transition represents a transition in a FiniteStateMachine from one or more possible states to a desired state. |
| Enum | Description |
|---|---|
| NonBlockingFiniteStateMachine.CoalescedEvent.Process |
The
NonBlockingFiniteStateMachine.CoalescedEvent to process. |
| Exception | Description |
|---|---|
| RollbackTransitionException |
A
RollbackTransitionException may be thrown during an TransitionAction for a Transition if the said Transition should be aborted. |