Class MapBiCodec
-
- All Implemented Interfaces:
@JvmRecord() public final class MapBiCodec<B extends ByteBuf, V extends Object> extends Record
MapCodecとStreamCodecを束ねたクラスです。
- Since:
0.1.0
Hiiragi Tsubasa
-
-
Field Summary
Fields Modifier and Type Field Description private final MapCodec<V>codecprivate final StreamCodec<B, V>streamCodec
-
Method Summary
Modifier and Type Method Description final MapCodec<V>getCodec()final StreamCodec<B, V>getStreamCodec()final BiCodec<B, V>toCodec()BiCodecに変換します。 final <S extends Any> MapBiCodec<B, S>xmap(Function<V, S> to, Function<S, V> from)指定したtoとfromから,別のMapBiCodecに変換します。 final <S extends Any> MapBiCodec<B, S>flatXmap(Function<V, S> to, Function<S, V> from)指定したtoとfromから,別のMapBiCodecに変換します。 final MapBiCodec<B, V>validate(UnaryOperator<V> validator)final <C extends Any> ParameterCodec<B, C, V>forGetter(Function<C, V> getter)指定したgetterからParameterCodecに変換します。 final <R extends Any> RtoSerializer(Function2<MapCodec<V>, StreamCodec<B, V>, R> factory)final static <B extends ByteBuf, V extends Any> MapBiCodec<B, V>of(MapCodec<V> codec, StreamCodec<B, V> streamCodec)指定したcodecとstreamCodecからMapBiCodecを作成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any> MapBiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec, Function<T1, C> factory)指定したcodecから,別のMapBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any> MapBiCodec<B, C>composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, BiFunction<T1, T2, C> factory)指定したcodec1, codec2から,別のMapBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any> MapBiCodec<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から,別のMapBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any> MapBiCodec<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から,別のMapBiCodecを生成します。 final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any, T5 extends Any> MapBiCodec<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から,別のMapBiCodecを生成します。 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> MapBiCodec<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から,別のMapBiCodecを生成します。 -
-
Method Detail
-
getStreamCodec
final StreamCodec<B, V> getStreamCodec()
-
xmap
final <S extends Any> MapBiCodec<B, S> xmap(Function<V, S> to, Function<S, V> from)
指定したtoとfromから,別のMapBiCodecに変換します。
-
flatXmap
final <S extends Any> MapBiCodec<B, S> flatXmap(Function<V, S> to, Function<S, V> from)
指定したtoとfromから,別のMapBiCodecに変換します。
-
validate
final MapBiCodec<B, V> validate(UnaryOperator<V> validator)
-
forGetter
final <C extends Any> ParameterCodec<B, C, V> forGetter(Function<C, V> getter)
指定したgetterからParameterCodecに変換します。
-
toSerializer
final <R extends Any> R toSerializer(Function2<MapCodec<V>, StreamCodec<B, V>, R> factory)
-
of
final static <B extends ByteBuf, V extends Any> MapBiCodec<B, V> of(MapCodec<V> codec, StreamCodec<B, V> streamCodec)
指定したcodecとstreamCodecからMapBiCodecを作成します。
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any> MapBiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec, Function<T1, C> factory)
指定したcodecから,別のMapBiCodecを生成します。
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any> MapBiCodec<B, C> composite(ParameterCodec<in B, C, T1> codec1, ParameterCodec<in B, C, T2> codec2, BiFunction<T1, T2, C> factory)
指定したcodec1, codec2から,別のMapBiCodecを生成します。
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any> MapBiCodec<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から,別のMapBiCodecを生成します。
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any> MapBiCodec<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から,別のMapBiCodecを生成します。
-
composite
final static <B extends ByteBuf, C extends Any, T1 extends Any, T2 extends Any, T3 extends Any, T4 extends Any, T5 extends Any> MapBiCodec<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> MapBiCodec<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)
-
-
-
-