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