类 ChangeStateArgs

java.lang.Object
cn.wjybxx.btree.fsm.ChangeStateArgs

public final class ChangeStateArgs extends Object
状态切换参数 建议用户通过原型对象的withExtraInfo(Object)等方法创建
  • 字段详细资料

    • CMD_NONE

      public static final byte CMD_NONE
      另请参阅:
    • CMD_UNDO

      public static final byte CMD_UNDO
      另请参阅:
    • CMD_REDO

      public static final byte CMD_REDO
      另请参阅:
    • DELAY_NONE

      public static final byte DELAY_NONE
      不延迟 1.delayArg为当前状态要设置的结果,大于0有效 -- 用于更好的支持FSM。 2.通常用于状态主动退出时,可避免自身进入被取消状态。
      另请参阅:
    • DELAY_WHEN_COMPLETED

      public static final byte DELAY_WHEN_COMPLETED
      在当前子节点完成的时候切换 1.其它延迟模式也会在当前状态完成时触发; 2.通常用于状态主动退出时,可避免自身进入被取消状态 -- 先调用changeState,然后setSuccess;
      另请参阅:
    • PLAIN

      public static final ChangeStateArgs PLAIN
    • PLAIN_WHEN_COMPLETED

      public static final ChangeStateArgs PLAIN_WHEN_COMPLETED
    • PLAIN_SUCCESS

      public static final ChangeStateArgs PLAIN_SUCCESS
    • PLAIN_CANCELLED

      public static final ChangeStateArgs PLAIN_CANCELLED
    • PLAIN_ERROR

      public static final ChangeStateArgs PLAIN_ERROR
    • UNDO

      public static final ChangeStateArgs UNDO
    • UNDO_WHEN_COMPLETED

      public static final ChangeStateArgs UNDO_WHEN_COMPLETED
    • REDO

      public static final ChangeStateArgs REDO
    • REDO_WHEN_COMPLETED

      public static final ChangeStateArgs REDO_WHEN_COMPLETED
    • cmd

      public final byte cmd
      切换命令
    • delayMode

      public final byte delayMode
      延迟模式 -- 不再限制,允许用户扩展
    • delayArg

      public final int delayArg
      延迟参数
    • extraInfo

      public final Object extraInfo
      期望传递给Listener的数据
  • 方法详细资料

    • isPlain

      public boolean isPlain()
    • isUndo

      public boolean isUndo()
    • isRedo

      public boolean isRedo()
    • with

      public ChangeStateArgs with(byte delayMode)
    • with

      public ChangeStateArgs with(byte delayMode, int delayArg)
    • with

      public ChangeStateArgs with(byte delayMode, int delayArg, Object extraInfo)
    • withArg

      public ChangeStateArgs withArg(int delayArg)
    • withExtraInfo

      public ChangeStateArgs withExtraInfo(Object extraInfo)
    • plainWithArg

      public static ChangeStateArgs plainWithArg(int curStateResult)