ValueCodec class

Пакет: com.hypixel.hytale.server.core.ui

Файл: com/hypixel/hytale/server/core/ui/ValueCodec.java

implements: Codec<Value<T>>

Поля (1)

МодификаторыТипИмя
final ValueCodec<Object> REFERENCE_ONLY

Методы (3)

МодификаторыВозвратСигнатура
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException()
public Value<T> decodeValue<T> decode(BsonValue var1, ExtraInfo var2)
public BsonValue encodeBsonValue encode(@Nonnull Value<T> var1, ExtraInfo var2)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.bson.BsonDocument;
class="kw">import org.bson.BsonString;
class="kw">import org.bson.BsonValue;

class="kw">public class ValueCodec<T> class="kw">implements Codec<Value<T>> {
   class="kw">public class="kw">static class="kw">final ValueCodec<Object> REFERENCE_ONLY = new ValueCodec<>(null);
   class="kw">public class="kw">static class="kw">final ValueCodec<String> STRING = new ValueCodec<>(Codec.STRING);
   class="kw">public class="kw">static class="kw">final ValueCodec<LocalizableString> LOCALIZABLE_STRING = new ValueCodec<>(LocalizableString.CODEC);
   class="kw">public class="kw">static class="kw">final ValueCodec<Integer> INTEGER = new ValueCodec<>(Codec.INTEGER);
   class="kw">public class="kw">static class="kw">final ValueCodec<PatchStyle> PATCH_STYLE = new ValueCodec<>(PatchStyle.CODEC);
   class="kw">protected Codec<T> codec;

   ValueCodec(Codec<T> var1) {
      this.codec = var1;
   }

   class="kw">public Value<T> decode(BsonValue var1, ExtraInfo var2) {
      throw new UnsupportedOperationException();
   }

   class="kw">public BsonValue encode(@Nonnull Value<T> var1, ExtraInfo var2) {
      class="kw">return (BsonValue)(var1.getValue() != null
         ? this.codec.encode(var1.getValue(), var2)
         : new BsonDocument().append("$Document", new BsonString(var1.getDocumentPath())).append("@Value", new BsonString(var1.getValueName())));
   }

   @Nonnull
   @Override
   class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
      class="kw">return this.codec.toSchema(var1);
   }
}