FileFix.java
net.minecraft.util.filefix.FileFix
信息
- 全限定名:net.minecraft.util.filefix.FileFix
- 类型:public abstract class
- 包:net.minecraft.util.filefix
- 源码路径:src/main/java/net/minecraft/util/filefix/FileFix.java
- 起始行号:L14
- 职责:
TODO
字段/常量
-
schema- 类型:
Schema - 修饰符:
private final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
fileFixOperations- 类型:
List<FileFixOperation> - 修饰符:
private final - 源码定位:
L16 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public FileFix(Schema schema) @ L18
- 构造器名:FileFix
- 源码定位:L18
- 修饰符:public
参数:
- schema: Schema
说明:
TODO
方法
下面的方法块按源码顺序生成。
public final Schema getSchema() @ L23
- 方法名:getSchema
- 源码定位:L23
- 返回类型:Schema
- 修饰符:public final
参数:
- 无
说明:
TODO
public final int getVersion() @ L27
- 方法名:getVersion
- 源码定位:L27
- 返回类型:int
- 修饰符:public final
参数:
- 无
说明:
TODO
public void addFileFixOperation(FileFixOperation fileFixOperation) @ L31
- 方法名:addFileFixOperation
- 源码定位:L31
- 返回类型:void
- 修饰符:public
参数:
- fileFixOperation: FileFixOperation
说明:
TODO
public void addFileContentFix(ModifyContent.FileAccessFunction fileAccessFunction) @ L35
- 方法名:addFileContentFix
- 源码定位:L35
- 返回类型:void
- 修饰符:public
参数:
- fileAccessFunction: ModifyContent.FileAccessFunction
说明:
TODO
public int countFileOperations() @ L42
- 方法名:countFileOperations
- 源码定位:L42
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public void runFixOperations(Path baseFolder, UpgradeProgress upgradeProgress) @ L46
- 方法名:runFixOperations
- 源码定位:L46
- 返回类型:void
- 修饰符:public
参数:
- baseFolder: Path
- upgradeProgress: UpgradeProgress
说明:
TODO
public abstract void makeFixer() @ L57
- 方法名:makeFixer
- 源码定位:L57
- 返回类型:void
- 修饰符:public abstract
参数:
- 无
说明:
TODO
代码
public abstract class FileFix {
private final Schema schema;
private final List<FileFixOperation> fileFixOperations = new ArrayList<>();
public FileFix(Schema schema) {
this.schema = schema;
this.makeFixer();
}
public final Schema getSchema() {
return this.schema;
}
public final int getVersion() {
return DataFixUtils.getVersion(this.schema.getVersionKey());
}
public void addFileFixOperation(FileFixOperation fileFixOperation) {
this.fileFixOperations.add(fileFixOperation);
}
public void addFileContentFix(ModifyContent.FileAccessFunction fileAccessFunction) {
FileAccessProvider fileAccessProvider = new FileAccessProvider(this.getVersion());
ModifyContent.FixFunction fixFunction = fileAccessFunction.make(fileAccessProvider);
fileAccessProvider.freeze();
this.fileFixOperations.add(new ModifyContent(fileAccessProvider, fixFunction));
}
public int countFileOperations() {
return this.fileFixOperations.size();
}
public void runFixOperations(Path baseFolder, UpgradeProgress upgradeProgress) throws IOException {
for (FileFixOperation fileFixOperation : this.fileFixOperations) {
if (upgradeProgress.isCanceled()) {
throw new CanceledFileFixException();
}
fileFixOperation.fix(baseFolder, upgradeProgress);
upgradeProgress.incrementFinishedOperations();
}
}
public abstract void makeFixer();
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
CanceledFileFixException()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
FileAccessProvider()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/构造调用 - 关联成员:
ModifyContent()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: