RefCodec class
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.util
Файл: com/hypixel/hytale/builtin/adventure/worldevents/util/RefCodec.java
implements: Codec<T>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
BuilderCodec |
var2 |
|
BuilderCodec |
var3 |
|
BuilderCodec |
var3 |
|
BuilderCodec |
var3 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("Codec already set") |
|
|
if if(this.codec != null) |
public |
void |
setvoid set(@Nonnull BuilderCodec<T> var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.util;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.NullSchema;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.util.RawJsonReader;
class="kw">import java.io.IOException;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.bson.BsonNull;
class="kw">import org.bson.BsonValue;
class="kw">public class RefCodec<T> class="kw">implements Codec<T> {
@Nullable
class="kw">protected class="kw">volatile BuilderCodec<T> codec;
class="kw">public RefCodec() {
}
class="kw">public void set(@Nonnull BuilderCodec<T> var1) {
if (this.codec != null) {
throw new IllegalStateException("Codec already set");
}
this.codec = var1;
}
@Nullable
@Override
class="kw">public T decodeJson(@Nonnull RawJsonReader var1, @Nonnull ExtraInfo var2) class="kw">throws IOException {
assert this.codec != null;
BuilderCodec var3 = this.codec;
class="kw">return var3 != null ? var3.decodeJson(var1, var2) : null;
}
@Nullable
@Override
class="kw">public T decode(@Nonnull BsonValue var1, @Nonnull ExtraInfo var2) {
assert this.codec != null;
BuilderCodec var3 = this.codec;
class="kw">return var3 != null ? var3.decode(var1, var2) : null;
}
@Nonnull
@Override
class="kw">public BsonValue encode(T var1, @Nonnull ExtraInfo var2) {
assert this.codec != null;
BuilderCodec var3 = this.codec;
class="kw">return (BsonValue)(var3 != null ? var3.encode(var1, var2) : BsonNull.VALUE);
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
assert this.codec != null;
BuilderCodec var2 = this.codec;
class="kw">return var2 != null ? var1.refDefinition(var2) : NullSchema.INSTANCE;
}
}