Class JacksonEncoder

java.lang.Object
io.micronaut.serde.LimitingStream
io.micronaut.serde.jackson.JacksonEncoder
All Implemented Interfaces:
io.micronaut.serde.Encoder, AutoCloseable

public abstract class JacksonEncoder extends io.micronaut.serde.LimitingStream implements io.micronaut.serde.Encoder
Implementation of the Encoder interface for Jackson.
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.micronaut.serde.LimitingStream

    io.micronaut.serde.LimitingStream.RemainingLimits
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final com.fasterxml.jackson.core.JsonGenerator
     

    Fields inherited from class io.micronaut.serde.LimitingStream

    DEFAULT_LIMITS, DEFAULT_MAXIMUM_DEPTH
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
     
    static @NonNull io.micronaut.serde.Encoder
    create(@NonNull com.fasterxml.jackson.core.JsonGenerator generator)
     
    static @NonNull io.micronaut.serde.Encoder
    create(@NonNull com.fasterxml.jackson.core.JsonGenerator generator, @NonNull io.micronaut.serde.LimitingStream.RemainingLimits remainingLimits)
    Create a new encoder.
     
    final io.micronaut.serde.Encoder
    encodeArray(io.micronaut.core.type.Argument<?> type)
     
    final void
    encodeBigDecimal(@NonNull BigDecimal value)
     
    final void
    encodeBigInteger(@NonNull BigInteger value)
     
    void
    encodeBinary(byte @NonNull [] data)
     
    final void
    encodeBoolean(boolean value)
     
    final void
    encodeByte(byte value)
     
    final void
    encodeChar(char value)
     
    final void
    encodeDouble(double value)
     
    final void
    encodeFloat(float value)
     
    final void
    encodeInt(int value)
     
    final void
    encodeKey(@NonNull String key)
     
    final void
    encodeLong(long value)
     
    final void
     
    final io.micronaut.serde.Encoder
    encodeObject(io.micronaut.core.type.Argument<?> type)
     
    final void
    encodeShort(short value)
     
    final void
    encodeString(@NonNull String value)
     
    final void
     
    protected abstract void
     

    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
  • Field Details

    • generator

      protected final com.fasterxml.jackson.core.JsonGenerator generator
  • Method Details

    • create

      @NonNull public static @NonNull io.micronaut.serde.Encoder create(@NonNull @NonNull com.fasterxml.jackson.core.JsonGenerator generator)
    • create

      @NonNull @Internal public static @NonNull io.micronaut.serde.Encoder create(@NonNull @NonNull com.fasterxml.jackson.core.JsonGenerator generator, @NonNull @NonNull io.micronaut.serde.LimitingStream.RemainingLimits remainingLimits)
      Create a new encoder.
      Parameters:
      generator - The jackson-core generator to write to
      remainingLimits - The maximum nesting depth
      Returns:
      The encoder
    • encodeArray

      public final io.micronaut.serde.Encoder encodeArray(io.micronaut.core.type.Argument<?> type) throws IOException
      Specified by:
      encodeArray in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • encodeObject

      public final io.micronaut.serde.Encoder encodeObject(io.micronaut.core.type.Argument<?> type) throws IOException
      Specified by:
      encodeObject in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • finishStructure

      public final void finishStructure() throws IOException
      Specified by:
      finishStructure in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • close

      public final void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • finishStructureToken

      protected abstract void finishStructureToken() throws IOException
      Throws:
      IOException
    • currentPath

      public String currentPath()
      Specified by:
      currentPath in interface io.micronaut.serde.Encoder
    • encodeKey

      public final void encodeKey(@NonNull @NonNull String key) throws IOException
      Specified by:
      encodeKey in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • encodeString

      public final void encodeString(@NonNull @NonNull String value) throws IOException
      Specified by:
      encodeString in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • encodeBoolean

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

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

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

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

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

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

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

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

      public final void encodeBigInteger(@NonNull @NonNull BigInteger value) throws IOException
      Specified by:
      encodeBigInteger in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • encodeBigDecimal

      public final void encodeBigDecimal(@NonNull @NonNull BigDecimal value) throws IOException
      Specified by:
      encodeBigDecimal in interface io.micronaut.serde.Encoder
      Throws:
      IOException
    • encodeBinary

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

      public final void encodeNull() throws IOException
      Specified by:
      encodeNull in interface io.micronaut.serde.Encoder
      Throws:
      IOException