类 LoopDecorator<T>

java.lang.Object
cn.wjybxx.btree.Task<T>
cn.wjybxx.btree.Decorator<T>
cn.wjybxx.btree.decorator.LoopDecorator<T>
所有已实现的接口:
ICancelTokenListener
直接已知子类:
Repeat, UntilCond, UntilFail, UntilSuccess

public abstract class LoopDecorator<T> extends Decorator<T>
循环节点抽象
作者:
wjybxx date - 2023/11/26
  • 字段详细资料

    • maxLoop

      protected int maxLoop
      最大循环次数,超过次数直接失败;大于0有效
    • curLoop

      protected transient int curLoop
      执行前+1,因此从1开始
  • 构造器详细资料

    • LoopDecorator

      public LoopDecorator()
    • LoopDecorator

      public LoopDecorator(Task<T> child)
  • 方法详细资料

    • beforeEnter

      protected void beforeEnter()
      从类复制的说明: Task
      该方法用于初始化对象。 1.不命名为init,是因为init通常让人觉得只调用一次。 2.该方法不可以使自身进入完成状态。
      覆盖:
      beforeEnter 在类中 Task<T>
    • execute

      protected void execute()
      从类复制的说明: Task
      Task的心跳方法,在Task进入完成状态之前会反复执行。 1.运行中可通过Task.setSuccess()Task.setFailed(int)Task.setCancelled()将自己更新为完成状态。 2.如果不想和Task.enter(int)同步执行,可通过Task.setSlowStart(boolean)实现。 3.不建议直接调用该方法,而是通过模板方法Task.template_execute(boolean)运行。
      指定者:
      execute 在类中 Task<T>
    • hasNextLoop

      protected boolean hasNextLoop()
      是否还有下一次循环
    • getMaxLoop

      public int getMaxLoop()
    • setMaxLoop

      public void setMaxLoop(int maxLoop)