on Chain State Updated
+ Either Serializer
on Start Chain
+ descriptor
get Active States
+ deserialize
Either Serializer
+
+ Functions
+ +Properties
+Functions
+Extensions
on Chain State Updated
+ Either Serializer
on End Chain
+ descriptor
on Start Chain
+ deserialize
Either Serializer
+
+ Functions
+ +Properties
+Functions
+Extensions
on Chain State Updated
+ Either Serializer
on End Chain
+ descriptor
on Start Chain
+ deserialize
Either Serializer
+
+ Functions
+ +Properties
+Functions
+Extensions
on End Chain
+ default State Handler
FSMBuilder
-Functions
-Properties
-Extensions
-on State Or Substate
+ strictly On
+ get Active States
+ default State Handler
FSMBuilder
-Functions
-Properties
-Extensions
-on State Or Substate
+ strictly On
+ get Active States
+ default State Handler
FSMBuilder
-Functions
-Properties
-Extensions
-on State Or Substate
+ strictly On
+ Functions
-Default States Manager Repo
- Implement this repo if you want to use some custom repo for DefaultStatesManager
Implement this repo if you want to use some custom repo for DefaultStatesManager
Remove exactly state. In case if internally State.context is busy with different State, that State should NOT be removed
Default States Manager
- This repo will be used as repository for storing states. All operations with this repo will happen BEFORE any event will be sent to onChainStateUpdated, onStartChain or onEndChain. By default will be used InMemoryDefaultStatesManagerRepo or you may create custom DefaultStatesManagerRepo and pass as repo parameter
Receive old State, new one and the state currently placed on new State.context key. In case when this callback will returns true, the state placed on State.context of new will be replaced by new state by using endChain with that state
Constructors
-Functions
-Starts chain with state as first State. May returns false in case of State.context of state is already busy by the other State
In Memory Default States Manager Repo
- Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Constructors
-Remove exactly state. In case if internally State.context is busy with different State, that State should NOT be removed
Default States Manager Repo
- Implement this repo if you want to use some custom repo for DefaultStatesManager
Implement this repo if you want to use some custom repo for DefaultStatesManager
Remove exactly state. In case if internally State.context is busy with different State, that State should NOT be removed
Default States Manager
- This repo will be used as repository for storing states. All operations with this repo will happen BEFORE any event will be sent to onChainStateUpdated, onStartChain or onEndChain. By default will be used InMemoryDefaultStatesManagerRepo or you may create custom DefaultStatesManagerRepo and pass as repo parameter
Receive old State, new one and the state currently placed on new State.context key. In case when this callback will returns true, the state placed on State.context of new will be replaced by new state by using endChain with that state
Constructors
-Functions
-Starts chain with state as first State. May returns false in case of State.context of state is already busy by the other State
In Memory Default States Manager Repo
- Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Constructors
-Remove exactly state. In case if internally State.context is busy with different State, that State should NOT be removed
Default States Manager Repo
- Implement this repo if you want to use some custom repo for DefaultStatesManager
Implement this repo if you want to use some custom repo for DefaultStatesManager
Remove exactly state. In case if internally State.context is busy with different State, that State should NOT be removed
Default States Manager
- This repo will be used as repository for storing states. All operations with this repo will happen BEFORE any event will be sent to onChainStateUpdated, onStartChain or onEndChain. By default will be used InMemoryDefaultStatesManagerRepo or you may create custom DefaultStatesManagerRepo and pass as repo parameter
Receive old State, new one and the state currently placed on new State.context key. In case when this callback will returns true, the state placed on State.context of new will be replaced by new state by using endChain with that state
Constructors
-Functions
-Starts chain with state as first State. May returns false in case of State.context of state is already busy by the other State
In Memory Default States Manager Repo
- Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Constructors
-Remove exactly state. In case if internally State.context is busy with different State, that State should NOT be removed
Implement this repo if you want to use some custom repo for DefaultStatesManager
Implement this repo if you want to use some custom repo for DefaultStatesManager
Implement this repo if you want to use some custom repo for DefaultStatesManager
Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Simple DefaultStatesManagerRepo for DefaultStatesManager which will store data in map and use primitive functionality
Checkable Handler Holder
+ check Handleable
+ Checkable Handler Holder
+ Define checkable holder which can be used to precheck that this handler may handle incoming State
Functions
+Main handling of state. In case when this state leads to another State and handleState returns not null State it is assumed that chain is not completed.
Inheritors
+ +State Handler Holder
+ Customizable Handler Holder
State Handler Holder
- Default realization of StatesHandler. It will incapsulate checking of State type in checkHandleable and class casting in handleState
Customizable Handler Holder
+ Default realization of StatesHandler. It will incapsulate checking of State type in checkHandleable and class casting in handleState
Constructors
-Functions
-Checks that state can be handled by delegateTo. Under the hood it will check exact equality of state and use KClass.isInstance of inputKlass if strict == false
Checks that state can be handled by delegateTo. Under the hood it will check exact equality of state and use KClass.isInstance of inputKlass if strict == false
Calls delegateTo method StatesHandler.handleState with state casted to I. Use checkHandleable to be sure that this StateHandlerHolder will be able to handle state
Calls delegateTo method StatesHandler.handleState with state casted to I. Use checkHandleable to be sure that this StatesHandlerHolder will be able to handle state
Default States Machine
- Default realization of StatesMachine. It uses statesManager for incapsulation of States storing and contexts resolving, and uses launchStateHandling for State handling
Default realization of StatesMachine. It uses statesManager for incapsulation of States storing and contexts resolving, and uses launchStateHandling for State handling
Constructors
-Functions
-Will call launchStateHandling for state handling
Will call launchStateHandling for state handling
Launch handling of states. On statesManager, statesManager will be called lambda with performing of state. If launchStateHandling will returns some State then statesManager will be used, otherwise StatesManager.endChain.
Launch handling of states. On statesManager, statesManager will be called lambda with performing of state. If launchStateHandling will returns some State then statesManager will be used, otherwise StatesManager.endChain.
Just calls StatesManager.startChain of statesManager
Launch handling of states. On statesManager, statesManager will be called lambda with performing of state. If launchStateHandling will returns some State then statesManager will be used, otherwise StatesManager.endChain.
States Handler
- Default realization of states handler
Default realization of states handler
Functions
-Main handling of state. In case when this state leads to another State and handleState returns not null State it is assumed that chain is not completed.
Inheritors
-Extensions
+Functions
-Creates DefaultStatesMachine
States Machine
- Default StatesMachine may startChain and use inside logic for handling States. By default you may use DefaultStatesMachine or build it with dev.inmo.micro_utils.fsm.common.dsl.buildFSM. Implementers MUST NOT start handling until start method will be called
Default StatesMachine may startChain and use inside logic for handling States. By default you may use DefaultStatesMachine or build it with dev.inmo.micro_utils.fsm.common.dsl.buildFSM. Implementers MUST NOT start handling until start method will be called
Functions
-Main handling of state. In case when this state leads to another State and handleState returns not null State it is assumed that chain is not completed.
Main handling of state. In case when this state leads to another State and handleState returns not null State it is assumed that chain is not completed.
start Chain
+ launch State Handling
Starts chain with state as first State. May returns false in case of State.context of state is already busy by the other State
Functions
-Starts chain with state as first State. May returns false in case of State.context of state is already busy by the other State