Module Contents
alltypes
Module Contents
interface IStateMachine<S, T : Any>
open class StateMachine<S, T : Any> : IStateMachine<S, T>
Module Contents
StateMachine(initialState: S, vararg transitionRules: TransitionDef<S, out T>)
StateMachine(initialState: S, transitions: List<TransitionDef<S, out T>>)
fun registerCallback(transitionCallback: TransitionCallback<S, T>): Boolean
var state: S
open fun transition(transition: T): Unit
fun <F, T : Any> transition(oldState: F, transition: KClass<T>, newState: F): TransitionDef<F, T>
val transitionCallbacks: List<TransitionCallback<S, T>>
open val transitions: Set<KClass<out T>>
open fun transitionsTo(targetState: S): Set<KClass<out T>>
fun unregisterCallback(transitionCallback: TransitionCallback<S, T>): Boolean
interface TransitionBuilder<out S, out T : Any>
interface TransitionCallback<S, T : Any>
data class TransitionDef<S, T : Any>
package com.toxicbakery.kfinstatemachine
Module Contents
interface IStateMachine<S, T : Any>
open class StateMachine<S, T : Any> : IStateMachine<S, T>
Module Contents
StateMachine(initialState: S, vararg transitionRules: TransitionDef<S, out T>)
StateMachine(initialState: S, transitions: List<TransitionDef<S, out T>>)
fun registerCallback(transitionCallback: TransitionCallback<S, T>): Boolean
var state: S
open fun transition(transition: T): Unit
fun <F, T : Any> transition(oldState: F, transition: KClass<T>, newState: F): TransitionDef<F, T>
val transitionCallbacks: List<TransitionCallback<S, T>>
open val transitions: Set<KClass<out T>>
open fun transitionsTo(targetState: S): Set<KClass<out T>>
fun unregisterCallback(transitionCallback: TransitionCallback<S, T>): Boolean
interface TransitionBuilder<out S, out T : Any>
interface TransitionCallback<S, T : Any>
data class TransitionDef<S, T : Any>
infix fun <S, T : Any> S.onTransition(event: KClass<out T>): TransitionBuilder<S, T>
infix fun <S, T : Any> TransitionBuilder<S, T>.resultsIn(newState: S): TransitionDef<S, out T>