Package io.dapr.client

# Class ObjectSerializer

java.lang.Object
io.dapr.client.ObjectSerializer

Direct Known Subclasses:
  `ActorObjectSerializer`, `CustomizableObjectSerializer`, `DefaultObjectSerializer`

public class ObjectSerializer extends Object
Serializes and deserializes an internal object.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final com.fasterxml.jackson.databind.ObjectMapper`
  `OBJECT_MAPPER`
  Shared Json serializer/deserializer as per Jackson's documentation.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `ObjectSerializer()`
  Default constructor to avoid class from being instantiated outside package but still inherited.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T> T`
  `deserialize(byte[] content, TypeRef<T> type)`
  Deserializes the byte array into the original object.
  `<T> T`
  `deserialize(byte[] content, Class<T> clazz)`
  Deserializes the byte array into the original object.
  `protected com.fasterxml.jackson.databind.ObjectMapper`
  `getObjectMapper()`
  `com.fasterxml.jackson.databind.JsonNode`
  `parseNode(byte[] content)`
  Parses the JSON content into a node for fine-grained processing.
  `byte[]`
  `serialize(Object state)`
  Serializes a given state object into byte array.

  ### Methods inherited from class java.lang.Object

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

- ## Field Details

  - ### OBJECT_MAPPER

    protected static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER
    Shared Json serializer/deserializer as per Jackson's documentation.

- ## Constructor Details

  - ### ObjectSerializer

    protected ObjectSerializer()
    Default constructor to avoid class from being instantiated outside package but still inherited.

- ## Method Details

  - ### getObjectMapper

    protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()

  - ### serialize

    public byte[] serialize(Object state) throws IOException
    Serializes a given state object into byte array.
    Parameters:
      `state` - State object to be serialized.
    Returns:
      Array of bytes[] with the serialized content.
    Throws:
      `IOException` - In case state cannot be serialized.

  - ### deserialize

    public <T> T deserialize(byte[] content, TypeRef<T> type) throws IOException
    Deserializes the byte array into the original object.
    Type Parameters:
      `T` - Generic type of the object being deserialized.
    Parameters:
      `content` - Content to be parsed.
      `type` - Type of the object being deserialized.
    Returns:
      Object of type T.
    Throws:
      `IOException` - In case content cannot be deserialized.

  - ### deserialize

    public <T> T deserialize(byte[] content, Class<T> clazz) throws IOException
    Deserializes the byte array into the original object.
    Type Parameters:
      `T` - Generic type of the object being deserialized.
    Parameters:
      `content` - Content to be parsed.
      `clazz` - Type of the object being deserialized.
    Returns:
      Object of type T.
    Throws:
      `IOException` - In case content cannot be deserialized.

  - ### parseNode

    public com.fasterxml.jackson.databind.JsonNode parseNode(byte[] content) throws IOException
    Parses the JSON content into a node for fine-grained processing.
    Parameters:
      `content` - JSON content.
    Returns:
      JsonNode.
    Throws:
      `IOException` - In case content cannot be parsed.