public interface StateMachineHandler<T>
- 作者:
- wjybxx date - 2023/12/3
-
方法概要
修饰符和类型方法说明default voidbeforeEnter(StateMachineTask<T> stateMachineTask) handler可能也有需要初始化的数据。booleanonNextStateAbsent(StateMachineTask<T> stateMachineTask, Task<T> preState) 当状态机没有下一个状态时调用该方法,以避免无可用状态 注意: 1.状态机启动时不会调用该方法 2.如果该方法返回后仍无可用状态,将触发无状态逻辑 3.default voidonNextStateGuardFailed(StateMachineTask<T> stateMachineTask, Task<T> nextState) 下个状态的前置条件检查失败default voidresetForRestart(StateMachineTask<T> stateMachineTask) handler可能也有需要重置的数据。
-
方法详细资料
-
resetForRestart
handler可能也有需要重置的数据。- 参数:
stateMachineTask- 状态机
-
beforeEnter
handler可能也有需要初始化的数据。- 参数:
stateMachineTask- 状态机
-
onNextStateGuardFailed
下个状态的前置条件检查失败- 参数:
stateMachineTask- 状态机nextState- 下一个状态
-
onNextStateAbsent
当状态机没有下一个状态时调用该方法,以避免无可用状态 注意: 1.状态机启动时不会调用该方法 2.如果该方法返回后仍无可用状态,将触发无状态逻辑 3.【不可延迟新状态】,否则将导致错误;框架难以安全检测,由用户自身保证- 参数:
stateMachineTask- 状态机preState- 前一个状态,用于计算下一个状态- 返回:
- 用户是否执行了状态切换操作
-