ModifyContent.java

net.minecraft.util.filefix.operations.ModifyContent

信息

  • 全限定名:net.minecraft.util.filefix.operations.ModifyContent
  • 类型:public class
  • 包:net.minecraft.util.filefix.operations
  • 源码路径:src/main/java/net/minecraft/util/filefix/operations/ModifyContent.java
  • 起始行号:L9
  • 实现:FileFixOperation
  • 职责:

    TODO

字段/常量

  • fileAccessProvider

    • 类型: FileAccessProvider
    • 修饰符: private final
    • 源码定位: L10
    • 说明:

      TODO

  • fixFunction

    • 类型: ModifyContent.FixFunction
    • 修饰符: private final
    • 源码定位: L11
    • 说明:

      TODO

内部类/嵌套类型

  • net.minecraft.util.filefix.operations.ModifyContent.FileAccessFunction

    • 类型: interface
    • 修饰符: public
    • 源码定位: L36
    • 说明:

      TODO

  • net.minecraft.util.filefix.operations.ModifyContent.FixFunction

    • 类型: interface
    • 修饰符: public
    • 源码定位: L41
    • 说明:

      TODO

构造器

public ModifyContent(FileAccessProvider fileAccessProvider, ModifyContent.FixFunction fixFunction) @ L13

  • 构造器名:ModifyContent
  • 源码定位:L13
  • 修饰符:public

参数:

  • fileAccessProvider: FileAccessProvider
  • fixFunction: ModifyContent.FixFunction

说明:

TODO

方法

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

public void fix(Path baseDirectory, UpgradeProgress upgradeProgress) @ L18

  • 方法名:fix
  • 源码定位:L18
  • 返回类型:void
  • 修饰符:public

参数:

  • baseDirectory: Path
  • upgradeProgress: UpgradeProgress

说明:

TODO

代码

public class ModifyContent implements FileFixOperation {
    private final FileAccessProvider fileAccessProvider;
    private final ModifyContent.FixFunction fixFunction;
 
    public ModifyContent(FileAccessProvider fileAccessProvider, ModifyContent.FixFunction fixFunction) {
        this.fileAccessProvider = fileAccessProvider;
        this.fixFunction = fixFunction;
    }
 
    @Override
    public void fix(Path baseDirectory, UpgradeProgress upgradeProgress) throws IOException {
        try {
            ScopedValue.where(this.fileAccessProvider.baseDirectory(), baseDirectory).run(() -> {
                try {
                    this.fixFunction.run(upgradeProgress);
                } catch (IOException var3) {
                    throw new UncheckedIOException(var3);
                }
            });
        } catch (UncheckedIOException var7) {
            throw var7.getCause();
        } finally {
            this.fileAccessProvider.close();
        }
    }
 
    @FunctionalInterface
    public interface FileAccessFunction {
        ModifyContent.FixFunction make(final FileAccessProvider fileAccessProvider);
    }
 
    @FunctionalInterface
    public interface FixFunction {
        void run(final UpgradeProgress upgradeProgress) throws IOException;
    }
}

引用的其他类