Package org.eclipse.net4j.util.fsm
Klasse FiniteStateMachine<STATE extends Enum<?>,EVENT extends Enum<?>,SUBJECT>
java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.net4j.util.fsm.FiniteStateMachine<STATE,EVENT,SUBJECT>
- Alle implementierten Schnittstellen:
INotifier
,INotifier.INotifier2
,IDeactivateable
,ILifecycle
,ILifecycle.DeferrableActivation
- Bekannte direkte Unterklassen:
Negotiator
public abstract class FiniteStateMachine<STATE extends Enum<?>,EVENT extends Enum<?>,SUBJECT>
extends Lifecycle
A finite state machine that is based on a matrix of
transitions
.
A finite state machine can fire the following events:
-
FiniteStateMachine<STATE extends Enum<?>,
after state changes of a subject.EVENT extends Enum<?>, SUBJECT>.StateChangedEvent
- Autor:
- Eike Stepper
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenModifizierer und TypKlasseBeschreibungclass
Atransition
that changes thestate
of a subject.static class
Veraltet.static class
Veraltet.UseIGNORE
class
Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.lifecycle.ILifecycle
ILifecycle.DeferrableActivation
Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.event.INotifier
INotifier.INotifier2
-
Feldübersicht
Felder -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungFiniteStateMachine
(Class<STATE> stateEnum, Class<EVENT> eventEnum) FiniteStateMachine
(Class<STATE> stateEnum, Class<EVENT> eventEnum, ITransition<STATE, EVENT, SUBJECT, ?> defaultTransition) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected STATE
changeState
(SUBJECT subject, STATE state) protected ITransition
<STATE, EVENT, SUBJECT, ?> createFailTransition
(STATE state, EVENT event) protected ITransition
<STATE, EVENT, SUBJECT, ?> createIgnoreTransition
(STATE state, EVENT event) void
dump
(PrintStream out) protected String
formatFailMessage
(SUBJECT subject, STATE state, EVENT event, Object data) protected String
formatIgnoreMessage
(SUBJECT subject, STATE state, EVENT event, Object data) protected String
formatProcessMessage
(SUBJECT subject, STATE state, EVENT event, Object data) final EVENT[]
protected abstract STATE
final STATE[]
final ITransition
<STATE, EVENT, SUBJECT, ?> getTransition
(STATE state, EVENT event) final void
final void
final void
initAll
(ITransition<STATE, EVENT, SUBJECT, ?> transition) final void
final void
initEvents
(STATE state, ITransition<STATE, EVENT, SUBJECT, ?> transition) final void
initEvents
(STATE state, STATE targetState) final void
initStates
(EVENT event, ITransition<STATE, EVENT, SUBJECT, ?> transition) final void
initStates
(EVENT event, STATE targetState) final <DATA> void
protected abstract void
Von Klasse geerbte Methoden org.eclipse.net4j.util.lifecycle.Lifecycle
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString
Von Klasse geerbte Methoden org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener
Von Klasse geerbte Methoden java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
-
Felddetails
-
IGNORE
-
FAIL
-
-
Konstruktordetails
-
FiniteStateMachine
-
FiniteStateMachine
-
-
Methodendetails
-
getStates
-
getEvents
-
getTransition
-
init
-
init
-
initEvents
-
initEvents
-
initStates
-
initStates
-
initAll
-
initAll
-
process
-
dump
- Seit:
- 3.25
-
createIgnoreTransition
-
createFailTransition
-
formatProcessMessage
-
formatIgnoreMessage
-
formatFailMessage
-
getState
-
setState
-
changeState
- Seit:
- 3.0
-
FAIL