BehaviourWithFSMStateHandlerHolder

class BehaviourWithFSMStateHandlerHolder<I : O, O : State>(inputKlass: KClass<I>, strict: Boolean, delegateTo: BehaviourWithFSMStateHandler<I, O>)

Special holder for BehaviourContextWithFSM. This holder helps BehaviourContextWithFSM to understand whether it can handle input State with delegateTo or not

Parameters

inputKlass

This KClass will be used to compare input State type and declare ability of delegateTo to handle incoming State. See checkHandleable for more info

strict

This flag will be used in checkHandleable to choose strategy of checking incoming State

delegateTo

This handler will be called in case checkHandleable returns true with class caster incoming State in handleState

Constructors

Link copied to clipboard
fun <I : O, O : State> BehaviourWithFSMStateHandlerHolder(inputKlass: KClass<I>, strict: Boolean = false, delegateTo: BehaviourWithFSMStateHandler<I, O>)

Functions

Link copied to clipboard
fun checkHandleable(state: O): Boolean

Check ability of delegateTo to handle this state

Link copied to clipboard
suspend fun BehaviourContextWithFSM<in O>.handleState(contextUpdatesFlow: Flow<Update>, state: O): O?

Handling of state :)