|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.squirrelframework.foundation.component.impl.AbstractSubject
org.squirrelframework.foundation.fsm.impl.AbstractStateMachine<T,S,E,C>
T - state machine typeS - state typeE - event typeC - context typepublic abstract class AbstractStateMachine<T extends StateMachine<T,S,E,C>,S,E,C>
The Abstract state machine provide several extension ability to cover different extension granularity.
| Nested Class Summary | |
|---|---|
static class |
AbstractStateMachine.AbstractStateMachineEvent<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.AbstractTransitionEvent<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.StartEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.StateMachineExceptionEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.TerminateEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.TransitionBeginEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.TransitionCompleteEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.TransitionDeclinedEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.TransitionEndEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
static class |
AbstractStateMachine.TransitionExceptionEventImpl<T extends StateMachine<T,S,E,C>,S,E,C>
|
| Field Summary | |
|---|---|
protected Lock |
readLock
|
protected ReentrantReadWriteLock |
rwLock
|
protected Lock |
writeLock
|
| Constructor Summary | |
|---|---|
AbstractStateMachine()
|
|
| Methods inherited from class org.squirrelframework.foundation.component.impl.AbstractSubject |
|---|
addListener, addListener, fireEvent, getListenerSize, isNotifiable, removeAllListeners, removeListener, removeListener, removeListener, removeListener, setNotifiable |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.squirrelframework.foundation.component.Observable |
|---|
addListener, addListener, fireEvent, getListenerSize, isNotifiable, removeAllListeners, removeListener, removeListener, removeListener, removeListener, setNotifiable |
| Field Detail |
|---|
protected final ReentrantReadWriteLock rwLock
protected final Lock writeLock
protected final Lock readLock
| Constructor Detail |
|---|
public AbstractStateMachine()
| Method Detail |
|---|
protected void prepare()
public void fire(E event,
C context)
StateMachine
fire in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>event - the eventcontext - external context
public void fireImmediate(E event,
C context)
StateMachine
fireImmediate in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>event - the eventcontext - external contextpublic void fire(E event)
StateMachine
fire in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void fireImmediate(E event)
StateMachine
fireImmediate in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>protected void cleanQueuedEvents()
public S test(E event,
C context)
StateMachine
test in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>event - test eventcontext - text context
public S test(E event)
StateMachine
test in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public boolean canAccept(E event)
canAccept in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>event - test event
protected boolean isIdle()
protected void afterTransitionCausedException(S fromState,
S toState,
E event,
C context)
protected void beforeTransitionBegin(S fromState,
E event,
C context)
protected void afterTransitionCompleted(S fromState,
S toState,
E event,
C context)
protected void afterTransitionEnd(S fromState,
S toState,
E event,
C context)
protected void afterTransitionDeclined(S fromState,
E event,
C context)
protected void beforeActionInvoked(S fromState,
S toState,
E event,
C context)
protected void afterActionInvoked(S fromState,
S toState,
E event,
C context)
public ImmutableState<T,S,E,C> getCurrentRawState()
getCurrentRawState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public ImmutableState<T,S,E,C> getLastRawState()
getLastRawState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public ImmutableState<T,S,E,C> getInitialRawState()
getInitialRawState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public ImmutableState<T,S,E,C> getRawStateFrom(S stateId)
getRawStateFrom in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public Collection<ImmutableState<T,S,E,C>> getAllRawStates()
getAllRawStates in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public Collection<S> getAllStates()
getAllStates in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public S getCurrentState()
getCurrentState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public S getLastState()
getLastState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public S getInitialState()
getInitialState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void start(C context)
StateMachine
start in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>context - external contextpublic void start()
StateMachine
start in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public StateMachineStatus getStatus()
getStatus in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>protected void setStatus(StateMachineStatus status)
public S getLastActiveChildStateOf(S parentStateId)
getLastActiveChildStateOf in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>parentStateId - id of parent state
public List<S> getSubStatesOn(S parentStateId)
getSubStatesOn in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void terminate(C context)
StateMachine
terminate in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>context - external contextpublic void terminate()
StateMachine
terminate in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public T getThis()
getThis in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void accept(Visitor visitor)
Visitable#Visitor.
accept in interface Visitablevisitor - the visitor.public StateMachineData.Reader<T,S,E,C> dumpSavedData()
StateMachineStateMachineStatus.IDLE, otherwise null will be returned.
dumpSavedData in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public boolean loadSavedData(StateMachineData.Reader<T,S,E,C> savedData)
StateMachineStateMachineStatus.INITIALIZED or StateMachineStatus.TERMINATED.
loadSavedData in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>savedData - provided saved data
public boolean isContextSensitive()
isContextSensitive in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public Class<C> typeOfContext()
typeOfContext in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public Class<E> typeOfEvent()
typeOfEvent in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public Class<S> typeOfState()
typeOfState in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public TransitionException getLastException()
getLastException in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>protected void setLastException(TransitionException lastException)
public void addDeclarativeListener(Object listenerMethodProvider)
addDeclarativeListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeDeclarativeListener(Object listenerMethodProvider)
removeDeclarativeListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public int getExecutorListenerSize()
public String getIdentifier()
getIdentifier in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public String getDescription()
getDescription in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public String exportXMLDefinition(boolean beautifyXml)
exportXMLDefinition in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addStateMachineListener(StateMachine.StateMachineListener<T,S,E,C> listener)
addStateMachineListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeStateMachineListener(StateMachine.StateMachineListener<T,S,E,C> listener)
removeStateMachineListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addStartListener(StateMachine.StartListener<T,S,E,C> listener)
addStartListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeStartListener(StateMachine.StartListener<T,S,E,C> listener)
removeStartListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addTerminateListener(StateMachine.TerminateListener<T,S,E,C> listener)
addTerminateListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeTerminateListener(StateMachine.TerminateListener<T,S,E,C> listener)
removeTerminateListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addStateMachineExceptionListener(StateMachine.StateMachineExceptionListener<T,S,E,C> listener)
addStateMachineExceptionListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeStateMachineExceptionListener(StateMachine.StateMachineExceptionListener<T,S,E,C> listener)
removeStateMachineExceptionListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addTransitionBeginListener(StateMachine.TransitionBeginListener<T,S,E,C> listener)
addTransitionBeginListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeTransitionBeginListener(StateMachine.TransitionBeginListener<T,S,E,C> listener)
removeTransitionBeginListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addTransitionCompleteListener(StateMachine.TransitionCompleteListener<T,S,E,C> listener)
addTransitionCompleteListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeTransitionCompleteListener(StateMachine.TransitionCompleteListener<T,S,E,C> listener)
removeTransitionCompleteListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addTransitionExceptionListener(StateMachine.TransitionExceptionListener<T,S,E,C> listener)
addTransitionExceptionListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeTransitionExceptionListener(StateMachine.TransitionExceptionListener<T,S,E,C> listener)
removeTransitionExceptionListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addTransitionDeclinedListener(StateMachine.TransitionDeclinedListener<T,S,E,C> listener)
addTransitionDeclinedListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeTransitionDecleindListener(StateMachine.TransitionDeclinedListener<T,S,E,C> listener)
removeTransitionDecleindListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addTransitionEndListener(StateMachine.TransitionEndListener<T,S,E,C> listener)
addTransitionEndListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeTransitionEndListener(StateMachine.TransitionEndListener<T,S,E,C> listener)
removeTransitionEndListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void addExecActionListener(ActionExecutionService.BeforeExecActionListener<T,S,E,C> listener)
addExecActionListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>public void removeExecActionListener(ActionExecutionService.BeforeExecActionListener<T,S,E,C> listener)
removeExecActionListener in interface StateMachine<T extends StateMachine<T,S,E,C>,S,E,C>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||