程序包 cn.wjybxx.btree

类 BranchTask<T>

java.lang.Object
cn.wjybxx.btree.Task<T>
cn.wjybxx.btree.BranchTask<T>
所有已实现的接口:
ICancelTokenListener
直接已知子类:
Parallel, SingleRunningChildBranch

public abstract class BranchTask<T> extends Task<T>
分支任务(可能有多个子节点)
作者:
wjybxx date - 2023/11/25
  • 字段详细资料

    • children

      protected List<Task<T>> children
  • 构造器详细资料

    • BranchTask

      public BranchTask()
    • BranchTask

      public BranchTask(List<Task<T>> children)
    • BranchTask

      public BranchTask(Task<T> first, @Nullable Task<T> second)
  • 方法详细资料

    • isFirstChild

      public final boolean isFirstChild(Task<?> child)
      是否是第一个子节点
    • isLastChild

      public final boolean isLastChild(Task<?> child)
      是否是第最后一个子节点
    • getFirstChild

      @Nullable public final Task<T> getFirstChild()
      获取第一个子节点 -- 主要为MainPolicy提供帮助
    • getLastChild

      @Nullable public final Task<T> getLastChild()
      获取最后一个子节点
    • isAllChildCompleted

      public boolean isAllChildCompleted()
    • shuffleChild

      public final void shuffleChild()
      用于避免测试的子节点过于规律
    • removeAllChild

      public final void removeAllChild()
      从类复制的说明: Task
      删除所有的child -- 不是个常用方法
      覆盖:
      removeAllChild 在类中 Task<T>
    • indexChild

      public final int indexChild(Task<?> task)
      覆盖:
      indexChild 在类中 Task<T>
      返回:
      index or -1
    • childStream

      public final Stream<Task<T>> childStream()
      从类复制的说明: Task
      该接口主要用于测试,该接口有一定的开销
      指定者:
      childStream 在类中 Task<T>
    • getChildCount

      public final int getChildCount()
      从类复制的说明: Task
      子节点的数量(仅包括普通意义上的child,不包括钩子任务)
      指定者:
      getChildCount 在类中 Task<T>
    • getChild

      public final Task<T> getChild(int index)
      从类复制的说明: Task
      获取指定索引的child
      指定者:
      getChild 在类中 Task<T>
    • addChildImpl

      protected final int addChildImpl(Task<T> task)
      指定者:
      addChildImpl 在类中 Task<T>
      返回:
      为child分配的index
    • setChildImpl

      protected final Task<T> setChildImpl(int index, Task<T> task)
      指定者:
      setChildImpl 在类中 Task<T>
      返回:
      索引位置旧的child
    • removeChildImpl

      protected final Task<T> removeChildImpl(int index)
      指定者:
      removeChildImpl 在类中 Task<T>
      返回:
      index对应的child
    • getChildren

      public List<Task<T>> getChildren()
    • setChildren

      public void setChildren(List<Task<T>> children)