类 StateMachine

java.lang.Object
org.hy.microservice.common.state.StateMachine

public class StateMachine extends Object
状态机模型
版本:
v1.0
作者:
ZhengWei(HY)
  • 构造器详细资料

    • StateMachine

      public StateMachine(Transition[] i_Transitions)
      状态机模型的构造器
      参数:
      i_Transitions - 状态转换路径集合
  • 方法详细资料

    • allowActions

      public Set<String> allowActions(String i_FromState)
      起始状态允许的操作动作
      参数:
      i_FromState - 起始状态
      返回:
      返回允许的操作动作
    • getTargetTransition

      public Transition getTargetTransition(String i_FromState, String i_Action)
      获取目标状态
      参数:
      i_FromState - 起始状态
      i_Action - 操作动作
      返回:
      返回状态转换路径
    • getTargetState

      public String getTargetState(String i_FromState, String i_Action)
      获取目标状态
      参数:
      i_FromState - 起始状态
      i_Action - 操作动作
      返回:
      返回目标状态
    • checkTransition

      public boolean checkTransition(String i_FromState, String i_Action, String i_ToState)
      验证签转路径是否有效
      参数:
      i_FromState - 起始状态
      i_Action - 操作动作
      i_ToState - 目标状态
      返回:
    • checkAction

      public boolean checkAction(String i_FromState, String i_Action)
      验证操作在状态下是否合法
      参数:
      i_FromState - 起始状态
      i_Action - 操作动作
      返回:
    • getAction

      public String getAction(String i_FromState, String i_ToState)
      获取起始状态到目标状态间的有且仅有的唯一的操作动作
      参数:
      i_FromState -
      i_ToState -
      返回:
    • checkStateFromTo

      public boolean checkStateFromTo(String i_FromState, String i_ToState)
      验证起始状态到目标状态间是否有且仅有一个操作动作
      参数:
      i_FromState - 起始状态
      i_ToState - 目标状态
      返回:
    • getTransitions

      public Transition[] getTransitions()
      获取状态转换路径
      返回:
    • getStartStates

      public String[] getStartStates()
      获取:开始状态
    • getEndStates

      public String[] getEndStates()
      获取:最终状态
    • getStateInfo

      public StateInfo getStateInfo(String i_State)
      获取状态信息(层次、分支数量)
      参数:
      i_State - 状态
      返回: