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 Type
    Method
    Description
    static @NonNull JsonNodeEncoder
    Creates a new instance.
    static @NonNull JsonNodeEncoder
    create(io.micronaut.serde.LimitingStream.RemainingLimits limits)
    Creates a new instance.
    io.micronaut.serde.Encoder
    encodeArray(io.micronaut.core.type.Argument<?> type)
     
    void
     
    void
     
    void
    encodeBinary(byte @NonNull [] data)
     
    void
    encodeBoolean(boolean value)
     
    void
    encodeByte(byte value)
     
    void
    encodeChar(char value)
     
    void
    encodeDouble(double value)
     
    void
    encodeFloat(float value)
     
    void
    encodeInt(int value)
     
    void
    encodeLong(long value)
     
    void
     
    io.micronaut.serde.Encoder
    encodeObject(io.micronaut.core.type.Argument<?> type)
     
    void
    encodeShort(short value)
     
    void
     
    protected abstract void
    encodeValue(io.micronaut.json.tree.JsonNode node)
    Encode the given value.
    @NonNull io.micronaut.json.tree.JsonNode
    Obtains the completed value.

    Methods inherited from class io.micronaut.serde.LimitingStream

    childLimits, decreaseDepth, increaseDepth, limitsFromConfiguration, ourLimits

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.serde.Encoder

    close, currentPath, encodeKey, finishStructure
  • Method Details

    • create

      @NonNull public static @NonNull JsonNodeEncoder 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

      public void encodeString(String value)
      Specified by:
      encodeString in interface io.micronaut.serde.Encoder
    • encodeBoolean

      public void encodeBoolean(boolean value)
      Specified by:
      encodeBoolean in interface io.micronaut.serde.Encoder
    • encodeByte

      public void encodeByte(byte value)
      Specified by:
      encodeByte in interface io.micronaut.serde.Encoder
    • encodeShort

      public void encodeShort(short value)
      Specified by:
      encodeShort in interface io.micronaut.serde.Encoder
    • encodeChar

      public void encodeChar(char value)
      Specified by:
      encodeChar in interface io.micronaut.serde.Encoder
    • encodeInt

      public void encodeInt(int value)
      Specified by:
      encodeInt in interface io.micronaut.serde.Encoder
    • encodeLong

      public void encodeLong(long value)
      Specified by:
      encodeLong in interface io.micronaut.serde.Encoder
    • encodeFloat

      public void encodeFloat(float value)
      Specified by:
      encodeFloat in interface io.micronaut.serde.Encoder
    • encodeDouble

      public void encodeDouble(double value)
      Specified by:
      encodeDouble in interface io.micronaut.serde.Encoder
    • encodeBigInteger

      public void encodeBigInteger(BigInteger value)
      Specified by:
      encodeBigInteger in interface io.micronaut.serde.Encoder
    • encodeBigDecimal

      public void encodeBigDecimal(BigDecimal value)
      Specified by:
      encodeBigDecimal in interface io.micronaut.serde.Encoder
    • encodeBinary

      public void encodeBinary(byte @NonNull [] data) throws IOException
      Specified by:
      encodeBinary in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • encodeNull

      public void encodeNull()
      Specified by:
      encodeNull in interface io.micronaut.serde.Encoder
    • encodeArray

      public io.micronaut.serde.Encoder encodeArray(io.micronaut.core.type.Argument<?> type) throws io.micronaut.serde.exceptions.SerdeException
      Specified by:
      encodeArray in interface io.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:
      encodeObject in interface io.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