Interface PayloadCodec

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      java.util.List<io.temporal.api.common.v1.Payload> decode​(java.util.List<io.temporal.api.common.v1.Payload> payloads)  
      java.util.List<io.temporal.api.common.v1.Payload> encode​(java.util.List<io.temporal.api.common.v1.Payload> payloads)  
      default PayloadCodec withContext​(SerializationContext context)
      A correct implementation of this interface should have a fully functional "contextless" implementation.
    • Method Detail

      • encode

        @Nonnull
        java.util.List<io.temporal.api.common.v1.Payload> encode​(@Nonnull
                                                                 java.util.List<io.temporal.api.common.v1.Payload> payloads)
      • decode

        @Nonnull
        java.util.List<io.temporal.api.common.v1.Payload> decode​(@Nonnull
                                                                 java.util.List<io.temporal.api.common.v1.Payload> payloads)
      • withContext

        @Nonnull
        default PayloadCodec withContext​(@Nonnull
                                         SerializationContext context)
        A correct implementation of this interface should have a fully functional "contextless" implementation. Temporal SDK will call this method when a knowledge of the context exists, but DataConverter can be used directly by user code and sometimes SDK itself without any context.

        Note: this method is expected to be cheap and fast. Temporal SDK doesn't always cache the instances and may be calling this method very often. Users are responsible to make sure that this method doesn't recreate expensive objects like Jackson's ObjectMapper on every call.

        Parameters:
        context - provides information to the data converter about the abstraction the data belongs to
        Returns:
        an instance of DataConverter that may use the provided context for serialization
        See Also:
        SerializationContext