Package io.temporal.common.converter
Class GsonJsonPayloadConverter
- java.lang.Object
-
- io.temporal.common.converter.GsonJsonPayloadConverter
-
- All Implemented Interfaces:
PayloadConverter
public final class GsonJsonPayloadConverter extends java.lang.Object implements PayloadConverter
Implements conversion through GSON JSON processor. To extend useGsonJsonPayloadConverter(Function)constructor.
-
-
Constructor Summary
Constructors Constructor Description GsonJsonPayloadConverter()GsonJsonPayloadConverter(java.util.function.Function<com.google.gson.GsonBuilder,com.google.gson.GsonBuilder> builderInterceptor)Constructs an instance giving an ability to overrideGsoninitialization.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> TfromData(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.StringgetEncodingType()EachPayloadConverterhas an Encoding Type that it handles.static PayloadConvertergetInstance()java.util.Optional<io.temporal.api.common.v1.Payload>toData(java.lang.Object value)Return empty if value is null.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.temporal.common.converter.PayloadConverter
withContext
-
-
-
-
Constructor Detail
-
GsonJsonPayloadConverter
public GsonJsonPayloadConverter()
-
GsonJsonPayloadConverter
public GsonJsonPayloadConverter(java.util.function.Function<com.google.gson.GsonBuilder,com.google.gson.GsonBuilder> builderInterceptor)
Constructs an instance giving an ability to overrideGsoninitialization.- Parameters:
builderInterceptor- function that interceptsGsonBuilderconstruction.
-
-
Method Detail
-
getInstance
public static PayloadConverter getInstance()
-
getEncodingType
public java.lang.String getEncodingType()
Description copied from interface:PayloadConverterEachPayloadConverterhas an Encoding Type that it handles. EachPayloadConvertershould add the information about its Encoding Type into thePayloadit produces insidePayloadConverter.toData(Object)by associating it with theEncodingKeys.METADATA_ENCODING_KEYkey attached to thePayload's Metadata usingPayload.Builder.putMetadata(String, ByteString).- Specified by:
getEncodingTypein interfacePayloadConverter- Returns:
- encoding type that this converter handles.
-
toData
public java.util.Optional<io.temporal.api.common.v1.Payload> toData(java.lang.Object value) throws DataConverterExceptionReturn empty if value is null. Exception stack traces are converted to a single string stack trace to save space and make them more readable.- Specified by:
toDatain interfacePayloadConverter- Parameters:
value- Java value to convert.- Returns:
- converted value
- Throws:
DataConverterException- if conversion of the value passed as parameter failed for any reason.- See Also:
getEncodingType javadoc for an important implementation detail
-
fromData
public <T> T fromData(io.temporal.api.common.v1.Payload content, java.lang.Class<T> valueClass, java.lang.reflect.Type valueType) throws DataConverterExceptionDescription copied from interface:PayloadConverterImplements conversion of a single value.- Specified by:
fromDatain interfacePayloadConverter- Parameters:
content- Serialized value to convert to a Java object.valueClass- type of the value stored in thecontentvalueType- generic type of the value stored in thecontent- Returns:
- converted Java object
- Throws:
DataConverterException- if conversion of the data passed as parameter failed for any reason.
-
-