Package io.github.frizman21.common.sm
Class StateMachine
java.lang.Object
io.github.frizman21.common.sm.StateMachine
- All Implemented Interfaces:
Runnable
- Author:
- Mike Frizzell
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(StateMachineListener listener) createStartState(String name) createState(String name) createState(String name, boolean isEndState) voideventHappens(Event event) voideventHappens(Event event, boolean sync) intgetState()booleanvoidkill()This will kill the internal thread that fires the next event.putFromMachineState(String key, Object value) booleanvoidrun()voidsetSyncDefault(boolean syncDefault) voidstartMachine(boolean startThread) booleanwaitUntilDone(long timeout)
-
Field Details
-
props
-
-
Constructor Details
-
StateMachine
-
StateMachine
-
-
Method Details
-
register
-
add
-
createStartState
- Throws:
ConfigException
-
createState
-
createState
-
startMachine
- Throws:
ConfigException
-
eventHappens
- Throws:
ConfigException
-
eventHappens
- Throws:
ConfigException
-
run
public void run() -
kill
public void kill()This will kill the internal thread that fires the next event. -
isMachineRunning
public boolean isMachineRunning() -
waitUntilDone
public boolean waitUntilDone(long timeout) - Returns:
-
getState
-
getFromMachineState
-
putFromMachineState
-
getActiveTransition
-
getActiveEvent
-
getEventQueueSize
public int getEventQueueSize() -
setSyncDefault
public void setSyncDefault(boolean syncDefault)
-