程序包 cn.wjybxx.btree

类 BranchTask<E>

java.lang.Object
cn.wjybxx.btree.Task<E>
cn.wjybxx.btree.BranchTask<E>
直接已知子类:
Parallel, SingleRunningChildBranch

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

    • children

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

    • BranchTask

      public BranchTask()
    • BranchTask

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

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

    • isFirstChild

      public final boolean isFirstChild(Task<?> child)
    • isLastChild

      public final boolean isLastChild(Task<?> child)
    • getFirstChild

      @Nullable public final Task<E> getFirstChild()
      主要为MainPolicy提供帮助
    • getLastChild

      @Nullable public final Task<E> getLastChild()
    • isAllChildCompleted

      public boolean isAllChildCompleted()
    • shuffleChild

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

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

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

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

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

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

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

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

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

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

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