# FSMBuilder

class FSMBuilder < T : State >(var statesManager: StatesManager < T > = DefaultStatesManager(InMemoryDefaultStatesManagerRepo()), val fsmBuilder: (statesManager: StatesManager < T >, states: List < CheckableHandlerHolder < T , T >>) -> StatesMachine < T > = { statesManager, states -> StatesMachine( statesManager, states ) }, var defaultStateHandler: StatesHandler < T , T >? = StatesHandler { null })(source)

## Constructors

FSMBuilder
Link copied to clipboard
constructor(statesManager: StatesManager < T > = DefaultStatesManager(InMemoryDefaultStatesManagerRepo()), fsmBuilder: (statesManager: StatesManager < T >, states: List < CheckableHandlerHolder < T , T >>) -> StatesMachine < T > = { statesManager, states -> StatesMachine( statesManager, states ) }, defaultStateHandler: StatesHandler < T , T >? = StatesHandler { null })

## Properties

defaultStateHandler
Link copied to clipboard
var defaultStateHandler : StatesHandler < T , T >?
fsmBuilder
Link copied to clipboard
val fsmBuilder : (statesManager: StatesManager < T >, states: List < CheckableHandlerHolder < T , T >>) -> StatesMachine < T >
statesManager
Link copied to clipboard
var statesManager : StatesManager < T >

## Functions

add
Link copied to clipboard
fun add (handler: CheckableHandlerHolder < T , T >)
fun < I : T > add (filter: suspend (state: State ) -> Boolean , handler: StatesHandler < I , T >)
fun < I : T > add (kClass: KClass < I >, handler: StatesHandler < I , T >)
addStrict
Link copied to clipboard
fun < I : T > addStrict (kClass: KClass < I >, handler: StatesHandler < I , T >)
build
Link copied to clipboard
fun build (): StatesMachine < T >
doWhen
Link copied to clipboard
inline fun < I : T > doWhen (noinline filter: suspend (state: State ) -> Boolean , handler: StatesHandler < I , T >)
onStateOrSubstate
Link copied to clipboard
inline fun < I : T > onStateOrSubstate (handler: StatesHandler < I , T >)
strictlyOn
Link copied to clipboard
inline fun < I : T > strictlyOn (handler: StatesHandler < I , T >)