AbstractSampleLogger.java
net.minecraft.util.debugchart.AbstractSampleLogger
信息
- 全限定名:net.minecraft.util.debugchart.AbstractSampleLogger
- 类型:public abstract class
- 包:net.minecraft.util.debugchart
- 源码路径:src/main/java/net/minecraft/util/debugchart/AbstractSampleLogger.java
- 起始行号:L3
- 实现:SampleLogger
- 职责:
TODO
字段/常量
-
defaults- 类型:
long[] - 修饰符:
protected final - 源码定位:
L4 - 说明:
TODO
- 类型:
-
sample- 类型:
long[] - 修饰符:
protected final - 源码定位:
L5 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
protected AbstractSampleLogger(int dimensions, long[] defaults) @ L7
- 构造器名:AbstractSampleLogger
- 源码定位:L7
- 修饰符:protected
参数:
- dimensions: int
- defaults: long[]
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void logFullSample(long[] sample) @ L16
- 方法名:logFullSample
- 源码定位:L16
- 返回类型:void
- 修饰符:public
参数:
- sample: long[]
说明:
TODO
public void logSample(long sample) @ L23
- 方法名:logSample
- 源码定位:L23
- 返回类型:void
- 修饰符:public
参数:
- sample: long
说明:
TODO
public void logPartialSample(long sample, int dimension) @ L30
- 方法名:logPartialSample
- 源码定位:L30
- 返回类型:void
- 修饰符:public
参数:
- sample: long
- dimension: int
说明:
TODO
protected abstract void useSample() @ L39
- 方法名:useSample
- 源码定位:L39
- 返回类型:void
- 修饰符:protected abstract
参数:
- 无
说明:
TODO
protected void resetSample() @ L41
- 方法名:resetSample
- 源码定位:L41
- 返回类型:void
- 修饰符:protected
参数:
- 无
说明:
TODO
代码
public abstract class AbstractSampleLogger implements SampleLogger {
protected final long[] defaults;
protected final long[] sample;
protected AbstractSampleLogger(int dimensions, long[] defaults) {
if (defaults.length != dimensions) {
throw new IllegalArgumentException("defaults have incorrect length of " + defaults.length);
} else {
this.sample = new long[dimensions];
this.defaults = defaults;
}
}
@Override
public void logFullSample(long[] sample) {
System.arraycopy(sample, 0, this.sample, 0, sample.length);
this.useSample();
this.resetSample();
}
@Override
public void logSample(long sample) {
this.sample[0] = sample;
this.useSample();
this.resetSample();
}
@Override
public void logPartialSample(long sample, int dimension) {
if (dimension >= 1 && dimension < this.sample.length) {
this.sample[dimension] = sample;
} else {
throw new IndexOutOfBoundsException(dimension + " out of bounds for dimensions " + this.sample.length);
}
}
protected abstract void useSample();
protected void resetSample() {
System.arraycopy(this.defaults, 0, this.sample, 0, this.defaults.length);
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
System.arraycopy()
- 引用位置:
-
- 引用位置:
实现
- 引用位置: