LocalizableStringCodec class

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

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

implements: Codec<LocalizableString>

Методы (3)

МодификаторыВозвратСигнатура
public LocalizableString decodepublic LocalizableString decode(BsonValue var1, @Nonnull ExtraInfo var2)
public BsonValue encodepublic BsonValue encode(@Nonnull LocalizableString var1, @Nonnull ExtraInfo var2)
public Schema toSchemapublic Schema toSchema(@Nonnull SchemaContext var1)

Исходный код

Показать/скрыть
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.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.map.MapCodec;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.schema.config.StringSchema;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.bson.BsonString;
class="kw">import org.bson.BsonValue;

class="kw">public class LocalizableString {
   class="kw">public class="kw">static class="kw">final LocalizableString.LocalizableStringCodec CODEC = new LocalizableString.LocalizableStringCodec();
   class="kw">public class="kw">static class="kw">final BuilderCodec<LocalizableString> MESSAGE_OBJECT_CODEC = BuilderCodec.builder(LocalizableString.class, LocalizableString::new)
      .addField(new KeyedCodec<>("MessageId", Codec.STRING), (var0, var1) -> var0.messageId = var1, var0 -> var0.messageId)
      .addField(new KeyedCodec<>("MessageParams", MapCodec.STRING_HASH_MAP_CODEC), (var0, var1) -> var0.messageParams = var1, var0 -> var0.messageParams)
      .build();
   class="kw">private String stringValue;
   class="kw">private String messageId;
   class="kw">private Map<String, String> messageParams;

   class="kw">public LocalizableString() {
   }

   @Nonnull
   class="kw">public class="kw">static LocalizableString fromString(String var0) {
      LocalizableString var1 = new LocalizableString();
      var1.stringValue = var0;
      class="kw">return var1;
   }

   @Nonnull
   class="kw">public class="kw">static LocalizableString fromMessageId(String var0) {
      class="kw">return fromMessageId(var0, null);
   }

   @Nonnull
   class="kw">public class="kw">static LocalizableString fromMessageId(String var0, Map<String, String> var1) {
      LocalizableString var2 = new LocalizableString();
      var2.messageId = var0;
      var2.messageParams = var1;
      class="kw">return var2;
   }

   class="kw">public class="kw">static class LocalizableStringCodec class="kw">implements Codec<LocalizableString> {
      class="kw">public LocalizableStringCodec() {
      }

      class="kw">public LocalizableString decode(BsonValue var1, @Nonnull ExtraInfo var2) {
         class="kw">return var1 class="kw">instanceof BsonString
            ? LocalizableString.fromString(var1.asString().getValue())
            : LocalizableString.MESSAGE_OBJECT_CODEC.decode(var1, var2);
      }

      @Nonnull
      class="kw">public BsonValue encode(@Nonnull LocalizableString var1, @Nonnull ExtraInfo var2) {
         class="kw">return (BsonValue)(var1.stringValue != null ? new BsonString(var1.stringValue) : LocalizableString.MESSAGE_OBJECT_CODEC.encode(var1, var2));
      }

      @Nonnull
      @Override
      class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
         class="kw">return Schema.anyOf(new StringSchema(), LocalizableString.MESSAGE_OBJECT_CODEC.toSchema(var1));
      }
   }
}