TaskChainer.java

net.minecraft.util.TaskChainer

信息

  • 全限定名:net.minecraft.util.TaskChainer
  • 类型:public interface
  • 包:net.minecraft.util
  • 源码路径:src/main/java/net/minecraft/util/TaskChainer.java
  • 起始行号:L10
  • 职责:

    TODO

字段/常量

  • LOGGER
    • 类型: Logger
    • 修饰符: package-private
    • 源码定位: L11
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

static TaskChainer immediate(Executor executor) @ L13

  • 方法名:immediate
  • 源码定位:L13
  • 返回类型:TaskChainer
  • 修饰符:static

参数:

  • executor: Executor

说明:

TODO

default void append(Runnable task) @ L25

  • 方法名:append
  • 源码定位:L25
  • 返回类型:void
  • 修饰符:default

参数:

  • task: Runnable

说明:

TODO

<T> void append(CompletableFuture<T> preparation, Consumer<T> chainedTask) @ L29

  • 方法名:append
  • 源码定位:L29
  • 返回类型: void
  • 修饰符:package-private

参数:

  • preparation: CompletableFuture
  • chainedTask: Consumer

说明:

TODO

代码

@FunctionalInterface
public interface TaskChainer {
    Logger LOGGER = LogUtils.getLogger();
 
    static TaskChainer immediate(Executor executor) {
        return new TaskChainer() {
            @Override
            public <T> void append(CompletableFuture<T> preparation, Consumer<T> chainedTask) {
                preparation.thenAcceptAsync(chainedTask, executor).exceptionally(e -> {
                    LOGGER.error("Task failed", e);
                    return null;
                });
            }
        };
    }
 
    default void append(Runnable task) {
        this.append(CompletableFuture.completedFuture(null), ignored -> task.run());
    }
 
    <T> void append(CompletableFuture<T> preparation, Consumer<T> chainedTask);
}

引用的其他类