BuilderCodecObjectHelper class

Пакет: com.hypixel.hytale.server.npc.asset.builder

Файл: com/hypixel/hytale/server/npc/asset/builder/BuilderCodecObjectHelper.java

Поля (1)

МодификаторыТипИмя
final Codec<T> codec

Методы (3)

МодификаторыВозвратСигнатура
public boolean hasValueboolean hasValue()
if if(this.validator != null)
public void readConfigvoid readConfig(@Nonnull JsonElement var1, @Nonnull ExtraInfo var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder;

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.validation.Validator;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.util.BsonUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BuilderCodecObjectHelper<T> {
   class="kw">protected class="kw">final Codec<T> codec;
   class="kw">protected class="kw">final Class<?> classType;
   class="kw">protected class="kw">final Validator<T> validator;
   @Nullable
   class="kw">protected T value;

   class="kw">public BuilderCodecObjectHelper(Class<?> var1, Codec<T> var2, Validator<T> var3) {
      this.classType = var1;
      this.codec = var2;
      this.validator = var3;
   }

   @Nullable
   class="kw">public T build() {
      class="kw">return this.value;
   }

   class="kw">public void readConfig(@Nonnull JsonElement var1, @Nonnull ExtraInfo var2) {
      this.value = this.codec.decode(BsonUtil.translateJsonToBson(var1), var2);
      if (this.validator != null) {
         this.validator.accept(this.value, var2.getValidationResults());
      }

      var2.getValidationResults()._processValidationResults();
      var2.getValidationResults().logOrThrowValidatorExceptions(HytaleLogger.getLogger());
   }

   class="kw">public boolean hasValue() {
      class="kw">return this.value != null;
   }

   class="kw">public Class<?> getClassType() {
      class="kw">return this.classType;
   }
}