Class BiCodec
-
-
Field Summary
Fields Modifier and Type Field Description public final static BiCodec<ByteBuf, Boolean>BOOLpublic final static BiCodec<ByteBuf, Short>SHORTpublic final static BiCodec<ByteBuf, Integer>INTpublic final static BiCodec<ByteBuf, Long>LONGpublic final static BiCodec<ByteBuf, Float>FLOATpublic final static BiCodec<ByteBuf, Double>DOUBLEpublic final static BiCodec<ByteBuf, String>STRINGprivate final Codec<V>codecprivate final StreamCodec<B, V>streamCodec
-
Method Summary
Modifier and Type Method Description final Codec<V>getCodec()final StreamCodec<B, V>getStreamCodec()final <T extends Any> DataResult<T>encode(DynamicOps<T> ops, V input)final Result<Unit>encode(B buf, V input)final <T extends Any> DataResult<V>decode(DynamicOps<T> ops, T input)final Result<V>decode(B buf)final <S extends Any> BiCodec<B, S>xmap(Function<V, S> to, Function<S, V> from)指定したtoとfromから,別のBiCodecに変換します。 final <S extends Any> BiCodec<B, S>flatXmap(Function<V, S> to, Function<S, V> from)指定したtoとfromから,別のBiCodecに変換します。 final BiCodec<B, V>validate(UnaryOperator<V> validator)指定したvalidatorで値のフィルタリングを追加します。 final BiCodec<B, V>filter(Predicate<V> predicate, Function<V, String> message)値がフィルタリングされたBiCodecを返します。 final BiCodec<B, V>filterOrElse(Predicate<V> predicate, V defaultValue)値がフィルタリングされたBiCodecを返します。 final BiCodec<B, V>filterOrElse(Predicate<V> predicate, UnaryOperator<V> recover)値がフィルタリングされたBiCodecを返します。 final <E extends Any> BiCodec<B, E>dispatch(String typeKey, Function<E, V> type, Function<V, MapCodec<out E>> codec, Function<V, StreamCodec<in B, out E>> streamCodec)final <E extends Any> BiCodec<B, E>dispatch(Function<E, V> type, Function<V, MapCodec<out E>> codec, Function<V, StreamCodec<in B, out E>> streamCodec)final MapBiCodec<B, V>toMap()MapBiCodecに変換します。 final <S extends B> BiCodec<S, V>cast()BをSに置換したBiCodecを返します。 final MapBiCodec<B, V>fieldOf(String name)指定したフィールド名からMapBiCodecに変換します。 final MapBiCodec<B, Optional<V>>optionalFieldOf(String name)指定したフィールド名からOptionalのMapBiCodecに変換します。 final MapBiCodec<B, V>optionalFieldOf(String name, V defaultValue)指定したフィールド名とデフォルト値からMapBiCodecに変換します。 final MapBiCodec<B, V>optionalOrElseField(String name, V defaultValue)指定したフィールド名とデフォルト値からMapBiCodecに変換します。 final BiCodec<B, List<V>>listOf()ListのBiCodecに変換します。 final BiCodec<B, List<V>>listOf(Integer min, Integer max)ListのBiCodecに変換します。 final BiCodec<B, List<V>>listOrElement()要素が一つの場合はそのままコーデックするListのBiCodecに変換します。 final BiCodec<B, List<V>>listOrElement(Integer min, Integer max)要素が一つの場合はそのままコーデックするListのBiCodecに変換します。 final BiCodec<B, Optional<V>>toOptional()OptionalのBiCodecに変換します。 final static <B extends ByteBuf, V extends Any> BiCodec<B, V>of(Codec<V> codec, StreamCodec<B, V> streamCodec)指定したcodecとstreamCodecからBiCodecを作成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any> BiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec, Function<T1, C> factory)指定したcodecから,別のBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any> BiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, BiFunction<T1, T2, C> factory)指定したcodec1, codec2から,別のBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any> BiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, Function3<T1, T2, T3, C> factory)指定したcodec1, codec2, codec3から,別のBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any> BiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, ParameterCodec<in B, C, T4> codec4, Function4<T1, T2, T3, T4, C> factory)指定したcodec1, codec2, codec3, codec4から,別のBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any, T5 extends Any> BiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, ParameterCodec<in B, C, T4> codec4, ParameterCodec<in B, C, T5> codec5, Function5<T1, T2, T3, T4, T5, C> factory)指定したcodec1, codec2, codec3, codec4, codec5から,別のBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any, T5 extends Any, T6 extends Any> BiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, ParameterCodec<in B, C, T4> codec4, ParameterCodec<in B, C, T5> codec5, ParameterCodec<in B, C, T6> codec6, Function6<T1, T2, T3, T4, T5, T6, C> factory)指定したcodec1, codec2, codec3, codec4, codec5, codec6から,別のBiCodecを生成します。 -
-
Method Detail
-
getStreamCodec
final StreamCodec<B, V> getStreamCodec()
-
filter
final BiCodec<B, V> filter(Predicate<V> predicate, Function<V, String> message)
値がフィルタリングされたBiCodecを返します。
- Parameters:
predicate- 値のフィルタmessage- エラーメッセージを返すブロック- Since:
0.8.0
-
filterOrElse
final BiCodec<B, V> filterOrElse(Predicate<V> predicate, V defaultValue)
値がフィルタリングされたBiCodecを返します。
- Parameters:
predicate- 値のフィルタdefaultValue- デフォルトの値- Since:
0.8.0
-
filterOrElse
final BiCodec<B, V> filterOrElse(Predicate<V> predicate, UnaryOperator<V> recover)
値がフィルタリングされたBiCodecを返します。
- Parameters:
predicate- 値のフィルタrecover- デフォルトの値を返すブロック- Since:
0.8.0
-
dispatch
final <E extends Any> BiCodec<B, E> dispatch(String typeKey, Function<E, V> type, Function<V, MapCodec<out E>> codec, Function<V, StreamCodec<in B, out E>> streamCodec)
-
dispatch
final <E extends Any> BiCodec<B, E> dispatch(Function<E, V> type, Function<V, MapCodec<out E>> codec, Function<V, StreamCodec<in B, out E>> streamCodec)
-
toMap
final MapBiCodec<B, V> toMap()
MapBiCodecに変換します。
-
fieldOf
final MapBiCodec<B, V> fieldOf(String name)
指定したフィールド名からMapBiCodecに変換します。
-
optionalFieldOf
final MapBiCodec<B, Optional<V>> optionalFieldOf(String name)
指定したフィールド名からOptionalのMapBiCodecに変換します。
-
optionalFieldOf
final MapBiCodec<B, V> optionalFieldOf(String name, V defaultValue)
指定したフィールド名とデフォルト値からMapBiCodecに変換します。
-
optionalOrElseField
final MapBiCodec<B, V> optionalOrElseField(String name, V defaultValue)
指定したフィールド名とデフォルト値からMapBiCodecに変換します。
-
listOrElement
final BiCodec<B, List<V>> listOrElement()
-
toOptional
final BiCodec<B, Optional<V>> toOptional()
-
of
final static <B extends ByteBuf, V extends Any> BiCodec<B, V> of(Codec<V> codec, StreamCodec<B, V> streamCodec)
指定したcodecとstreamCodecからBiCodecを作成します。
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any> BiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec, Function<T1, C> factory)
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any> BiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, BiFunction<T1, T2, C> factory)
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any> BiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, Function3<T1, T2, T3, C> factory)
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any> BiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, ParameterCodec<in B, C, T4> codec4, Function4<T1, T2, T3, T4, C> factory)
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any, T5 extends Any> BiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, ParameterCodec<in B, C, T4> codec4, ParameterCodec<in B, C, T5> codec5, Function5<T1, T2, T3, T4, T5, C> factory)
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any, T5 extends Any, T6 extends Any> BiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, ParameterCodec<in B, C, T3> codec3, ParameterCodec<in B, C, T4> codec4, ParameterCodec<in B, C, T5> codec5, ParameterCodec<in B, C, T6> codec6, Function6<T1, T2, T3, T4, T5, T6, C> factory)
-
-
-
-