Package com.petrolpark.core.codec
Interface ContextualCodec<CONTEXT,A>
- All Superinterfaces:
ContextualDecoder<CONTEXT,,A> ContextualEncoder<CONTEXT,A>
- All Known Implementing Classes:
ContextualCodec.RecursiveContextualCodec,ContextualListCodec,ContextualMapCodec.ContextualMapCodecCodec
public interface ContextualCodec<CONTEXT,A>
extends ContextualEncoder<CONTEXT,A>, ContextualDecoder<CONTEXT,A>
Copy of
Codec that accepts a context object when encoding and decoding-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class -
Method Summary
Modifier and TypeMethodDescriptionstatic <CONTEXT,A, E>
ContextualCodec<CONTEXT, E> dispatch(com.mojang.serialization.Codec<A> typeCodec, Function<? super E, ? extends A> type, Function<? super A, ? extends ContextualMapCodec<CONTEXT, ? extends E>> codec) static <CONTEXT,A, E>
ContextualCodec<CONTEXT, E> dispatch(String typeKey, com.mojang.serialization.Codec<A> typeCodec, Function<? super E, ? extends A> type, Function<? super A, ? extends ContextualMapCodec<CONTEXT, ? extends E>> codec) default ContextualMapCodec<CONTEXT, A> default <S> ContextualCodec<CONTEXT, S> flatContextualXmap(BiFunction<CONTEXT, ? super A, ? extends com.mojang.serialization.DataResult<? extends S>> to, BiFunction<CONTEXT, ? super S, ? extends com.mojang.serialization.DataResult<? extends A>> from) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> lazyInitialized(Supplier<ContextualCodec<CONTEXT, A>> delegate) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> of(com.mojang.serialization.Codec<A> codec) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> of(ContextualEncoder<CONTEXT, A> encoder, ContextualDecoder<CONTEXT, A> decoder, String name) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> static <CONTEXT,F>
ContextualMapCodec<CONTEXT, Optional<F>> optionalField(String name, ContextualCodec<CONTEXT, F> elementCodec, boolean lenient) default ContextualMapCodec<CONTEXT, Optional<A>> optionalFieldOf(String name) static <CONTEXT,A, E>
ContextualCodec<CONTEXT, E> partialDispatch(String typeKey, com.mojang.serialization.Codec<A> typeCodec, Function<? super E, ? extends com.mojang.serialization.DataResult<? extends A>> type, Function<? super A, ? extends com.mojang.serialization.DataResult<? extends ContextualMapCodec<CONTEXT, ? extends E>>> codec) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> recursive(String name, Function<ContextualCodec<CONTEXT, A>, ContextualCodec<CONTEXT, A>> wrapped) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> unit(A defaultValue) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> default ContextualCodec<CONTEXT, A> validate(BiFunction<CONTEXT, A, com.mojang.serialization.DataResult<A>> checker) static <CONTEXT,A>
ContextualCodec<CONTEXT, A> withContext(ContextualCodec<CONTEXT, A> codec, CONTEXT newContext) default ContextualCodec<CONTEXT, A> withContext(CONTEXT newContext) default <S> ContextualCodec<CONTEXT, S> Methods inherited from interface com.petrolpark.core.codec.ContextualDecoder
decode, decode, flatContextualMap, map, parse, parseMethods inherited from interface com.petrolpark.core.codec.ContextualEncoder
comap, encode, encodeStart, flatContextualComap
-
Method Details
-
of
-
of
-
of
static <CONTEXT,A> ContextualCodec<CONTEXT,A> of(ContextualEncoder<CONTEXT, A> encoder, ContextualDecoder<CONTEXT, A> decoder, String name) -
recursive
static <CONTEXT,A> ContextualCodec<CONTEXT,A> recursive(String name, Function<ContextualCodec<CONTEXT, A>, ContextualCodec<CONTEXT, A>> wrapped) -
lazyInitialized
static <CONTEXT,A> ContextualCodec<CONTEXT,A> lazyInitialized(Supplier<ContextualCodec<CONTEXT, A>> delegate) -
unit
-
unit
-
optionalField
static <CONTEXT,F> ContextualMapCodec<CONTEXT,Optional<F>> optionalField(String name, ContextualCodec<CONTEXT, F> elementCodec, boolean lenient) -
xmap
-
flatContextualXmap
default <S> ContextualCodec<CONTEXT,S> flatContextualXmap(BiFunction<CONTEXT, ? super A, ? extends com.mojang.serialization.DataResult<? extends S>> to, BiFunction<CONTEXT, ? super S, ? extends com.mojang.serialization.DataResult<? extends A>> from) -
withContext
static <CONTEXT,A> ContextualCodec<CONTEXT,A> withContext(ContextualCodec<CONTEXT, A> codec, CONTEXT newContext) -
withContext
-
fieldOf
- Specified by:
fieldOfin interfaceContextualDecoder<CONTEXT,A> - Specified by:
fieldOfin interfaceContextualEncoder<CONTEXT,A>
-
optionalFieldOf
-
dispatch
static <CONTEXT,A, ContextualCodec<CONTEXT,E> E> dispatch(com.mojang.serialization.Codec<A> typeCodec, Function<? super E, ? extends A> type, Function<? super A, ? extends ContextualMapCodec<CONTEXT, ? extends E>> codec) -
dispatch
static <CONTEXT,A, ContextualCodec<CONTEXT,E> E> dispatch(String typeKey, com.mojang.serialization.Codec<A> typeCodec, Function<? super E, ? extends A> type, Function<? super A, ? extends ContextualMapCodec<CONTEXT, ? extends E>> codec) -
partialDispatch
static <CONTEXT,A, ContextualCodec<CONTEXT,E> E> partialDispatch(String typeKey, com.mojang.serialization.Codec<A> typeCodec, Function<? super E, ? extends com.mojang.serialization.DataResult<? extends A>> type, Function<? super A, ? extends com.mojang.serialization.DataResult<? extends ContextualMapCodec<CONTEXT, ? extends E>>> codec) -
validate
default ContextualCodec<CONTEXT,A> validate(BiFunction<CONTEXT, A, com.mojang.serialization.DataResult<A>> checker)
-