Interface DataConverter

All Known Implementing Classes:
JacksonDataConverter

public interface DataConverter
Interface for serializing and deserializing data that gets passed to and from orchestrators and activities.

Implementations of this abstract class are free to use any serialization method. Currently, only strings are supported as the serialized representation of data. Byte array payloads and streams are not supported by this abstraction. Note that these methods all accept null values, in which case the return value should also be null.

  • Method Details

    • serialize

      @Nullable String serialize(@Nullable Object value)
      Serializes the input into a text representation.
      Parameters:
      value - the value to be serialized
      Returns:
      a serialized text representation of the value or null if the value is null
    • deserialize

      @Nullable <T> T deserialize(@Nullable String data, Class<T> target)
      Deserializes the given text data into an object of the specified type.
      Type Parameters:
      T - the generic parameter type representing the target class to deserialize the input into
      Parameters:
      data - the text data to deserialize into an object
      target - the target class to deserialize the input into
      Returns:
      a deserialized object of type T
      Throws:
      DataConverter.DataConverterException - if the text data cannot be deserialized
    • getInstantFromTimestamp

      static Instant getInstantFromTimestamp(com.google.protobuf.Timestamp ts)
      Convert from Timestamp to Instant.
      Parameters:
      ts - timestamp to convert
      Returns:
      instant
    • getTimestampFromInstant

      static com.google.protobuf.Timestamp getTimestampFromInstant(Instant instant)
      Convert from Instant to Timestamp.
      Parameters:
      instant - to convert
      Returns:
      timestamp