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)
         + "}";
   }
}