public class FSM
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
currentState |
protected java.util.HashSet<ChangeListener> |
failChangeListeners |
protected java.util.Map<java.lang.String,de.fhg.aisec.ids.comm.ws.protocol.fsm.State> |
states |
protected java.util.HashSet<ChangeListener> |
successChangeListeners |
| Constructor and Description |
|---|
FSM() |
| Modifier and Type | Method and Description |
|---|---|
void |
addFailChangeListener(ChangeListener cl) |
void |
addState(ProtocolState state) |
void |
addState(java.lang.String state,
java.lang.Runnable entryCode,
java.lang.Runnable exitCode,
java.lang.Runnable alwaysRunCode)
Defines an additional state.
|
void |
addSuccessChangeListener(ChangeListener cl) |
void |
addTransition(Transition trans)
Add a new transition to this FSM.
|
void |
feedEvent(Event event) |
java.lang.String |
getMetaData() |
de.fhg.aisec.ids.api.conm.RatResult |
getRatResult() |
java.lang.String |
getState() |
void |
handleRatResult(de.fhg.aisec.ids.api.conm.RatResult attestationResult) |
void |
reset()
Resets FSM to it initial state
|
void |
setInitialState(ProtocolState state)
Defines initial state of this FSM.
|
void |
setMetaData(java.lang.String metaData) |
java.lang.String |
toDot() |
protected java.lang.String currentState
protected java.util.Map<java.lang.String,de.fhg.aisec.ids.comm.ws.protocol.fsm.State> states
protected java.util.HashSet<ChangeListener> successChangeListeners
protected java.util.HashSet<ChangeListener> failChangeListeners
public java.lang.String getState()
public void addState(ProtocolState state)
public void addState(java.lang.String state,
java.lang.Runnable entryCode,
java.lang.Runnable exitCode,
java.lang.Runnable alwaysRunCode)
1) entryCode is executed when the state is entered from another state (after the transition's code has been executed)
2) exitCode is executed when the state is left for another state (before the transition's code is executed)
3) alwaysRunCode is always executed when the FSM enters this state (even if it has been in that state before)
All three Runnables may be null. Their result has no impact on the FSM's state, Exceptions thrown are ignored.
state - entryCode - exitCode - alwaysRunCode - public void setInitialState(ProtocolState state)
state - The initial state of this FSMpublic void reset()
public void addTransition(Transition trans)
trans - The transition to be added to this FSMpublic void addSuccessChangeListener(ChangeListener cl)
public void addFailChangeListener(ChangeListener cl)
public void feedEvent(Event event)
public java.lang.String toDot()
public void handleRatResult(de.fhg.aisec.ids.api.conm.RatResult attestationResult)
public de.fhg.aisec.ids.api.conm.RatResult getRatResult()
public void setMetaData(java.lang.String metaData)
public java.lang.String getMetaData()