LongCodec class
Пакет: com.hypixel.hytale.codec.codecs.simple
Файл: com/hypixel/hytale/codec/codecs/simple/LongCodec.java
implements: Codec<Long>, RawJsonCodec<Long>, PrimitiveCodec
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
long |
var3 |
|
IntegerSchema |
var3 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
BsonInt64return new BsonInt64(var1) |
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Expected an long but got a decimal!") |
abstract |
return new |
IntegerSchemareturn new IntegerSchema() |
|
|
if if(var2 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.codec.codecs.simple;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.PrimitiveCodec;
class="kw">import com.hypixel.hytale.codec.RawJsonCodec;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.IntegerSchema;
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.BsonInt64;
class="kw">import org.bson.BsonValue;
class="kw">public class LongCodec class="kw">implements Codec<Long>, RawJsonCodec<Long>, PrimitiveCodec {
class="kw">public LongCodec() {
}
@Nonnull
class="kw">public Long decode(@Nonnull BsonValue var1, ExtraInfo var2) {
long var3 = var1.asNumber().longValue();
if (var3 != var1.asNumber().doubleValue()) {
throw new IllegalArgumentException("Expected an long but got a decimal!");
} else {
class="kw">return var3;
}
}
@Nonnull
class="kw">public BsonValue encode(Long var1, ExtraInfo var2) {
class="kw">return new BsonInt64(var1);
}
@Nonnull
class="kw">public Long decodeJson(@Nonnull RawJsonReader var1, ExtraInfo var2) class="kw">throws IOException {
class="kw">return var1.readLongValue();
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
class="kw">return new IntegerSchema();
}
@Nonnull
class="kw">public Schema toSchema(@Nonnull SchemaContext var1, @Nullable Long var2) {
IntegerSchema var3 = new IntegerSchema();
if (var2 != null) {
var3.setDefault(var2.intValue());
}
class="kw">return var3;
}
}