FunctionCodec class
Пакет: com.hypixel.hytale.codec.function
Файл: com/hypixel/hytale/codec/function/FunctionCodec.java
implements: Codec<R>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Object |
var3 |
|
Object |
var3 |
|
Object |
var4 |
|
Object |
var4 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Failed to apply function to '" + var3 + "' decoded from '" + var1 + "'!") |
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Failed to apply function to '" + var3 + "'!") |
|
|
if if(var4 == null) |
|
|
if if(var4 == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.codec.function;
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 com.hypixel.hytale.codec.util.RawJsonReader;
class="kw">import java.io.IOException;
class="kw">import java.util.Objects;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.bson.BsonValue;
@Deprecated
class="kw">public class FunctionCodec<T, R> class="kw">implements Codec<R> {
@Nonnull
class="kw">private class="kw">final Codec<T> codec;
@Nonnull
class="kw">private class="kw">final Function<T, R> decode;
@Nonnull
class="kw">private class="kw">final Function<R, T> encode;
class="kw">public FunctionCodec(Codec<T> var1, Function<T, R> var2, Function<R, T> var3) {
this.codec = Objects.requireNonNull(var1, "codec parameter can't be null");
this.decode = Objects.requireNonNull(var2, "decode parameter can't be null");
this.encode = Objects.requireNonNull(var3, "encode parameter can't be null");
}
@Nonnull
@Override
class="kw">public R decode(BsonValue var1, ExtraInfo var2) {
Object var3 = this.codec.decode(var1, var2);
Object var4 = this.decode.apply(var3);
if (var4 == null) {
throw new IllegalArgumentException("Failed to apply function to '" + var3 + "' decoded from '" + var1 + "'!");
} else {
class="kw">return var4;
}
}
@Override
class="kw">public BsonValue encode(R var1, ExtraInfo var2) {
class="kw">return this.codec.encode(this.encode.apply(var1), var2);
}
@Nonnull
@Override
class="kw">public R decodeJson(@Nonnull RawJsonReader var1, ExtraInfo var2) class="kw">throws IOException {
Object var3 = this.codec.decodeJson(var1, var2);
Object var4 = this.decode.apply(var3);
if (var4 == null) {
throw new IllegalArgumentException("Failed to apply function to '" + var3 + "'!");
} else {
class="kw">return var4;
}
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
class="kw">return this.codec.toSchema(var1);
}
}