Package io.micronaut.serde.support.util
Class JsonNodeEncoder
java.lang.Object
io.micronaut.serde.LimitingStream
io.micronaut.serde.support.util.JsonNodeEncoder
- All Implemented Interfaces:
io.micronaut.serde.Encoder,AutoCloseable
public abstract class JsonNodeEncoder
extends io.micronaut.serde.LimitingStream
implements io.micronaut.serde.Encoder
Implementation of the
Encoder interface that encodes a
in-memory JsonNode.-
Nested Class Summary
Nested classes/interfaces inherited from class io.micronaut.serde.LimitingStream
io.micronaut.serde.LimitingStream.RemainingLimits -
Field Summary
Fields inherited from class io.micronaut.serde.LimitingStream
DEFAULT_LIMITS, DEFAULT_MAXIMUM_DEPTH -
Method Summary
Modifier and TypeMethodDescriptionstatic @NonNull JsonNodeEncodercreate()Creates a new instance.static @NonNull JsonNodeEncodercreate(io.micronaut.serde.LimitingStream.RemainingLimits limits) Creates a new instance.io.micronaut.serde.EncoderencodeArray(io.micronaut.core.type.Argument<?> type) voidencodeBigDecimal(BigDecimal value) voidencodeBigInteger(BigInteger value) voidencodeBinary(byte @NonNull [] data) voidencodeBoolean(boolean value) voidencodeByte(byte value) voidencodeChar(char value) voidencodeDouble(double value) voidencodeFloat(float value) voidencodeInt(int value) voidencodeLong(long value) voidio.micronaut.serde.EncoderencodeObject(io.micronaut.core.type.Argument<?> type) voidencodeShort(short value) voidencodeString(String value) protected abstract voidencodeValue(io.micronaut.json.tree.JsonNode node) Encode the given value.@NonNull io.micronaut.json.tree.JsonNodeObtains the completed value.Methods inherited from class io.micronaut.serde.LimitingStream
childLimits, decreaseDepth, increaseDepth, limitsFromConfiguration, ourLimitsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.serde.Encoder
close, currentPath, encodeKey, finishStructure
-
Method Details
-
create
Creates a new instance.- Returns:
- The
JsonNodeEncoder
-
create
@NonNull @Internal public static @NonNull JsonNodeEncoder create(io.micronaut.serde.LimitingStream.RemainingLimits limits) Creates a new instance.- Parameters:
limits- The limits- Returns:
- The
JsonNodeEncoder
-
encodeValue
protected abstract void encodeValue(io.micronaut.json.tree.JsonNode node) Encode the given value.- Parameters:
node- The node to encode
-
encodeString
- Specified by:
encodeStringin interfaceio.micronaut.serde.Encoder
-
encodeBoolean
public void encodeBoolean(boolean value) - Specified by:
encodeBooleanin interfaceio.micronaut.serde.Encoder
-
encodeByte
public void encodeByte(byte value) - Specified by:
encodeBytein interfaceio.micronaut.serde.Encoder
-
encodeShort
public void encodeShort(short value) - Specified by:
encodeShortin interfaceio.micronaut.serde.Encoder
-
encodeChar
public void encodeChar(char value) - Specified by:
encodeCharin interfaceio.micronaut.serde.Encoder
-
encodeInt
public void encodeInt(int value) - Specified by:
encodeIntin interfaceio.micronaut.serde.Encoder
-
encodeLong
public void encodeLong(long value) - Specified by:
encodeLongin interfaceio.micronaut.serde.Encoder
-
encodeFloat
public void encodeFloat(float value) - Specified by:
encodeFloatin interfaceio.micronaut.serde.Encoder
-
encodeDouble
public void encodeDouble(double value) - Specified by:
encodeDoublein interfaceio.micronaut.serde.Encoder
-
encodeBigInteger
- Specified by:
encodeBigIntegerin interfaceio.micronaut.serde.Encoder
-
encodeBigDecimal
- Specified by:
encodeBigDecimalin interfaceio.micronaut.serde.Encoder
-
encodeBinary
- Specified by:
encodeBinaryin interfaceio.micronaut.serde.Encoder- Throws:
IOException
-
encodeNull
public void encodeNull()- Specified by:
encodeNullin interfaceio.micronaut.serde.Encoder
-
encodeArray
public io.micronaut.serde.Encoder encodeArray(io.micronaut.core.type.Argument<?> type) throws io.micronaut.serde.exceptions.SerdeException - Specified by:
encodeArrayin interfaceio.micronaut.serde.Encoder- Throws:
io.micronaut.serde.exceptions.SerdeException
-
encodeObject
public io.micronaut.serde.Encoder encodeObject(io.micronaut.core.type.Argument<?> type) throws io.micronaut.serde.exceptions.SerdeException - Specified by:
encodeObjectin interfaceio.micronaut.serde.Encoder- Throws:
io.micronaut.serde.exceptions.SerdeException
-
getCompletedValue
@NonNull public @NonNull io.micronaut.json.tree.JsonNode getCompletedValue()Obtains the completed value.- Returns:
- The materialized
JsonNode
-