Class JsonNatsMessageSerDes

java.lang.Object
io.micronaut.nats.serdes.JsonNatsMessageSerDes
All Implemented Interfaces:
io.micronaut.core.order.Ordered, NatsMessageSerDes<Object>

@Singleton public class JsonNatsMessageSerDes extends Object implements NatsMessageSerDes<Object>
Serializes and deserializes objects as JSON using Jackson.
Since:
1.0.0
Author:
jgrimm
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Integer
    The order of this serDes.

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
    JsonNatsMessageSerDes(io.micronaut.json.JsonMapper jsonMapper)
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable Object
    deserialize(io.nats.client.Message message, io.micronaut.core.type.Argument<Object> type)
    Deserializes the message into the requested type.
    int
     
    byte[]
    Serializes the data into a byte[] to be published to nats.
    boolean
    supports(io.micronaut.core.type.Argument<Object> argument)
    Determines if this serdes supports the given type.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ORDER

      public static final Integer ORDER
      The order of this serDes.
  • Constructor Details

    • JsonNatsMessageSerDes

      @Inject public JsonNatsMessageSerDes(io.micronaut.json.JsonMapper jsonMapper)
      Default constructor.
      Parameters:
      jsonMapper - The json mapper
      Since:
      3.1.0
  • Method Details

    • deserialize

      @Nullable public @Nullable Object deserialize(io.nats.client.Message message, io.micronaut.core.type.Argument<Object> type)
      Description copied from interface: NatsMessageSerDes
      Deserializes the message into the requested type.
      Specified by:
      deserialize in interface NatsMessageSerDes<Object>
      Parameters:
      message - The message to deserialize
      type - The type to be returned
      Returns:
      The deserialized body
    • serialize

      public byte[] serialize(Object data)
      Description copied from interface: NatsMessageSerDes
      Serializes the data into a byte[] to be published to nats.
      Specified by:
      serialize in interface NatsMessageSerDes<Object>
      Parameters:
      data - The data to serialize
      Returns:
      The message body
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface io.micronaut.core.order.Ordered
    • supports

      public boolean supports(io.micronaut.core.type.Argument<Object> argument)
      Description copied from interface: NatsMessageSerDes
      Determines if this serdes supports the given type.
      Specified by:
      supports in interface NatsMessageSerDes<Object>
      Parameters:
      argument - The type
      Returns:
      True if the type is supported