接口 StateMachineHandler<T>


public interface StateMachineHandler<T>
作者:
wjybxx date - 2023/12/3
  • 方法概要

    修饰符和类型
    方法
    说明
    default void
    beforeEnter(StateMachineTask<T> stateMachineTask)
    handler可能也有需要初始化的数据。
    boolean
    onNextStateAbsent(StateMachineTask<T> stateMachineTask, Task<T> preState)
    当状态机没有下一个状态时调用该方法,以避免无可用状态 注意: 1.状态机启动时不会调用该方法 2.如果该方法返回后仍无可用状态,将触发无状态逻辑 3.
    default void
    onNextStateGuardFailed(StateMachineTask<T> stateMachineTask, Task<T> nextState)
    下个状态的前置条件检查失败
    default void
    resetForRestart(StateMachineTask<T> stateMachineTask)
    handler可能也有需要重置的数据。
  • 方法详细资料

    • resetForRestart

      default void resetForRestart(StateMachineTask<T> stateMachineTask)
      handler可能也有需要重置的数据。
      参数:
      stateMachineTask - 状态机
    • beforeEnter

      default void beforeEnter(StateMachineTask<T> stateMachineTask)
      handler可能也有需要初始化的数据。
      参数:
      stateMachineTask - 状态机
    • onNextStateGuardFailed

      default void onNextStateGuardFailed(StateMachineTask<T> stateMachineTask, Task<T> nextState)
      下个状态的前置条件检查失败
      参数:
      stateMachineTask - 状态机
      nextState - 下一个状态
    • onNextStateAbsent

      boolean onNextStateAbsent(StateMachineTask<T> stateMachineTask, Task<T> preState)
      当状态机没有下一个状态时调用该方法,以避免无可用状态 注意: 1.状态机启动时不会调用该方法 2.如果该方法返回后仍无可用状态,将触发无状态逻辑 3.【不可延迟新状态】,否则将导致错误;框架难以安全检测,由用户自身保证
      参数:
      stateMachineTask - 状态机
      preState - 前一个状态,用于计算下一个状态
      返回:
      用户是否执行了状态切换操作