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;
}
}