程序包 cn.wjybxx.btree

类 ConditionTask2<E>

java.lang.Object
cn.wjybxx.btree.Task<E>
cn.wjybxx.btree.LeafTask<E>
cn.wjybxx.btree.ConditionTask2<E>

public abstract class ConditionTask2<E> extends LeafTask<E>
可返回详细错误码的条件节点
作者:
wjybxx date - 2023/11/25
  • 构造器详细资料

    • ConditionTask2

      public ConditionTask2()
  • 方法详细资料

    • execute

      protected final void execute()
      从类复制的说明: Task
      Task的心跳方法,在Task进入完成状态之前会反复执行。 1.可以根据Task.isExecuteTriggeredByEnter()判断是否是与Task.enter(int)连续执行的。 2.运行中可通过Task.setSuccess()Task.setFailed(int) ()}、Task.setCancelled()将自己更新为完成状态。 3.不建议直接调用该方法,而是通过模板方法运行。
      指定者:
      execute 在类中 Task<E>
    • test

      protected abstract int test()
    • canHandleEvent

      public boolean canHandleEvent(@Nonnull Object event)
      从类复制的说明: Task
      该方法用于测试自己的状态和事件数据 如果通过条件Task来实现事件过滤,那么通常的写法如下:
           blackboard.set("event", event); // task通过黑板获取事件对象
           try {
               return template_checkGuard(eventFilter);
           } finally {
               blackboard.remove("event");
           }
       
      ps: 如果想支持编辑器中测试事件属性,event通常需要实现为KV结构。
      覆盖:
      canHandleEvent 在类中 Task<E>
    • onEventImpl

      protected void onEventImpl(@Nonnull Object event)
      条件节点正常情况下不会触发事件
      指定者:
      onEventImpl 在类中 Task<E>