RawAsset class
Пакет: com.hypixel.hytale.assetstore
Файл: com/hypixel/hytale/assetstore/RawAsset.java
implements: AssetHolder<K>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Path |
parentPath |
|
boolean |
var4 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
char[] |
getBufferchar[] getBuffer() |
public |
int |
getLineOffsetint getLineOffset() |
public |
Path |
getParentPathPath getParentPath() |
public |
boolean |
isParentKeyResolvedboolean isParentKeyResolved() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.assetstore;
class="kw">import com.hypixel.hytale.assetstore.codec.ContainedAssetCodec;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.codec.util.RawJsonReader;
class="kw">import java.io.IOException;
class="kw">import java.nio.file.Path;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import javax.annotation.ParametersAreNullableByDefault;
@ParametersAreNullableByDefault
class="kw">public class RawAsset<K> class="kw">implements AssetHolder<K> {
class="kw">private class="kw">final Path parentPath;
@Nullable
class="kw">private class="kw">final K key;
class="kw">private class="kw">final int lineOffset;
class="kw">private class="kw">final boolean parentKeyResolved;
@Nullable
class="kw">private class="kw">final K parentKey;
@Nullable
class="kw">private class="kw">final Path path;
@Nullable
class="kw">private class="kw">final char[] buffer;
@Nullable
class="kw">private class="kw">final AssetExtraInfo.Data containerData;
@Nonnull
class="kw">private class="kw">final ContainedAssetCodec.Mode containedAssetMode;
class="kw">public RawAsset(K var1, Path var2) {
this.key = var1;
this.lineOffset = 0;
this.parentKeyResolved = false;
this.parentKey = null;
this.path = var2;
this.parentPath = null;
this.buffer = null;
this.containerData = null;
this.containedAssetMode = ContainedAssetCodec.Mode.NONE;
}
class="kw">public RawAsset(Path var1, K var2, K var3, int var4, char[] var5, AssetExtraInfo.Data var6, @Nonnull ContainedAssetCodec.Mode var7) {
this.key = var2;
this.lineOffset = var4;
this.parentKeyResolved = true;
this.parentKey = var3;
this.path = null;
this.parentPath = var1;
this.buffer = var5;
this.containerData = var6;
this.containedAssetMode = var7;
}
class="kw">private RawAsset(K var1, boolean var2, K var3, Path var4, char[] var5, AssetExtraInfo.Data var6, @Nonnull ContainedAssetCodec.Mode var7) {
this.key = var1;
this.lineOffset = 0;
this.parentKeyResolved = var2;
this.parentKey = var3;
this.path = var4;
this.parentPath = null;
this.buffer = var5;
this.containerData = var6;
this.containedAssetMode = var7;
}
@Nullable
class="kw">public K getKey() {
class="kw">return this.key;
}
class="kw">public boolean isParentKeyResolved() {
class="kw">return this.parentKeyResolved;
}
@Nullable
class="kw">public K getParentKey() {
class="kw">return this.parentKey;
}
@Nullable
class="kw">public Path getPath() {
class="kw">return this.path;
}
class="kw">public Path getParentPath() {
class="kw">return this.parentPath;
}
class="kw">public int getLineOffset() {
class="kw">return this.lineOffset;
}
class="kw">public char[] getBuffer() {
class="kw">return this.buffer;
}
@Nonnull
class="kw">public ContainedAssetCodec.Mode getContainedAssetMode() {
class="kw">return this.containedAssetMode;
}
@Nonnull
class="kw">public RawJsonReader toRawJsonReader(@Nonnull Supplier<char[]> var1) class="kw">throws IOException {
class="kw">return this.path != null ? RawJsonReader.fromPath(this.path, var1.get()) : RawJsonReader.fromBuffer(this.buffer);
}
@Nonnull
class="kw">public AssetExtraInfo.Data makeData(Class<? class="kw">extends JsonAssetWithMap<K, ?>> var1, K var2, K var3) {
boolean var4 = class="kw">switch (this.containedAssetMode) {
case INHERIT_ID, INHERIT_ID_AND_PARENT, INJECT_PARENT -> true;
case NONE, GENERATE_ID -> false;
};
class="kw">return new AssetExtraInfo.Data(this.containerData, var1, var2, var3, var4);
}
@Nonnull
class="kw">public RawAsset<K> withResolveKeys(K var1, K var2) {
class="kw">return new RawAsset<>(var1, true, var2, this.path, this.buffer, this.containerData, this.containedAssetMode);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "RawAsset{key="
+ this.key
+ ", parentKeyResolved="
+ this.parentKeyResolved
+ ", parentKey="
+ this.parentKey
+ ", path="
+ this.path
+ ", buffer.length="
+ (this.buffer != null ? this.buffer.length : -1)
+ "}";
}
}