Class JacksonJsonPayloadConverter

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T fromData​(io.temporal.api.common.v1.Payload content, java.lang.Class<T> valueClass, java.lang.reflect.Type valueType)
      Implements conversion of a single value.
      java.lang.String getEncodingType()
      Each PayloadConverter has an Encoding Type that it handles.
      static com.fasterxml.jackson.databind.ObjectMapper newDefaultObjectMapper()
      Can be used as a starting point for custom user configurations of ObjectMapper.
      static void setDefaultAsJackson3​(boolean defaultAsJackson3, boolean jackson2Compat)
      Opts in to or out of using Jackson 3.x as the default JSON payload converter.
      java.util.Optional<io.temporal.api.common.v1.Payload> toData​(java.lang.Object value)
      Implements conversion of a list of values.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JacksonJsonPayloadConverter

        public JacksonJsonPayloadConverter()
      • JacksonJsonPayloadConverter

        public JacksonJsonPayloadConverter​(com.fasterxml.jackson.databind.ObjectMapper mapper)
    • Method Detail

      • setDefaultAsJackson3

        @Experimental
        public static void setDefaultAsJackson3​(boolean defaultAsJackson3,
                                                boolean jackson2Compat)
        Opts in to or out of using Jackson 3.x as the default JSON payload converter. When enabled, instances created via the default constructor will delegate all serialization/deserialization to a Jackson3JsonPayloadConverter.

        This applies globally, including to the converter in DefaultDataConverter.STANDARD_PAYLOAD_CONVERTERS. Call this method early in your application, before creating any Temporal clients.

        Requires Java 17+ and tools.jackson.core:jackson-databind:3.x on the classpath.

        Parameters:
        defaultAsJackson3 - true to delegate to Jackson 3, false to revert to Jackson 2
        jackson2Compat - if true, the Jackson 3 converter is configured with Jackson 2.x default behaviors for maximum wire compatibility. If false, Jackson 3.x native defaults are used. Only relevant when defaultAsJackson3 is true.
        Throws:
        java.lang.IllegalStateException - if Jackson 3 is not available
        See Also:
        Jackson3JsonPayloadConverter
      • newDefaultObjectMapper

        public static com.fasterxml.jackson.databind.ObjectMapper newDefaultObjectMapper()
        Can be used as a starting point for custom user configurations of ObjectMapper.
        Returns:
        a default configuration of ObjectMapper used by JacksonJsonPayloadConverter.
      • fromData

        public <T> T fromData​(io.temporal.api.common.v1.Payload content,
                              java.lang.Class<T> valueClass,
                              java.lang.reflect.Type valueType)
                       throws DataConverterException
        Description copied from interface: PayloadConverter
        Implements conversion of a single value.
        Specified by:
        fromData in interface PayloadConverter
        Parameters:
        content - Serialized value to convert to a Java object.
        valueClass - type of the value stored in the content
        valueType - generic type of the value stored in the content
        Returns:
        converted Java object
        Throws:
        DataConverterException - if conversion of the data passed as parameter failed for any reason.