Class ActorObjectSerializer

java.lang.Object
io.dapr.client.ObjectSerializer
io.dapr.actors.runtime.ActorObjectSerializer

public class ActorObjectSerializer
extends ObjectSerializer
Serializes and deserializes internal objects.
  • Constructor Details

  • Method Details

    • serialize

      public byte[] serialize​(Object state) throws IOException
      Serializes a given state object into byte array.
      Overrides:
      serialize in class ObjectSerializer
      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, Class<T> clazz) throws IOException
      Deserializes the byte array into the original object.
      Overrides:
      deserialize in class ObjectSerializer
      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.
    • unwrapData

      public byte[] unwrapData​(byte[] payload) throws IOException
      Extracts the response data from a JSON Payload where data is in "data" attribute.
      Parameters:
      payload - JSON payload containing "data".
      Returns:
      byte[] instance, null.
      Throws:
      IOException - In case it cannot generate String.
    • wrapData

      public byte[] wrapData​(byte[] data) throws IOException
      Wraps data in the "data" attribute in a JSON object.
      Parameters:
      data - bytes to be wrapped into the "data" attribute in a JSON object.
      Returns:
      String to be sent to Dapr's API.
      Throws:
      IOException - If there's is any issue reading the data or wraping it