Interface TypedValueSerializer<T extends org.camunda.bpm.engine.variable.value.TypedValue>
-
- All Known Implementing Classes:
AbstractObjectValueSerializer,AbstractSerializableValueSerializer,AbstractTypedValueSerializer,BooleanValueSerializer,ByteArrayValueSerializer,DateValueSerializer,DoubleValueSerializer,FileValueSerializer,IntegerValueSerializer,JavaObjectSerializer,JPAVariableSerializer,LongValueSerlializer,NullValueSerializer,PrimitiveValueSerializer,ShortValueSerializer,StringValueSerializer
public interface TypedValueSerializer<T extends org.camunda.bpm.engine.variable.value.TypedValue>ATypedValueSerializerpersistsTypedValuesof a givenValueTypeto providedValueFields.Replaces the "VariableType" interface in previous versions.
- Since:
- 7.2
- Author:
- Daniel Meyer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanHandle(org.camunda.bpm.engine.variable.value.TypedValue value)Used for auto-detecting the value type of a variable.TconvertToTypedValue(org.camunda.bpm.engine.variable.impl.value.UntypedValueImpl untypedValue)Returns a typed value for the provided untyped value.StringgetName()The name of this serializer.StringgetSerializationDataformat()org.camunda.bpm.engine.variable.type.ValueTypegetType()TheVariableTypesupportedbooleanisMutableValue(T typedValue)TreadValue(ValueFields valueFields, boolean deserializeValue, boolean isTransient)Retrieve aTypedValuefrom the providedValueFields.voidwriteValue(T value, ValueFields valueFields)Serialize aTypedValueto theValueFields.
-
-
-
Method Detail
-
getName
String getName()
The name of this serializer. The name is used when persisting the ValueFields populated by this serializer.- Returns:
- the name of this serializer.
-
getType
org.camunda.bpm.engine.variable.type.ValueType getType()
TheVariableTypesupported- Returns:
- the VariableType supported
-
writeValue
void writeValue(T value, ValueFields valueFields)
Serialize aTypedValueto theValueFields.- Parameters:
value- theTypedValueto persistvalueFields- theValueFieldsto which the value should be persisted
-
readValue
T readValue(ValueFields valueFields, boolean deserializeValue, boolean isTransient)
Retrieve aTypedValuefrom the providedValueFields.- Parameters:
valueFields- theValueFieldsto retrieve the value fromdeserializeValue- indicates whether aSerializableValueshould be deserialized.- Returns:
- the
TypedValue
-
canHandle
boolean canHandle(org.camunda.bpm.engine.variable.value.TypedValue value)
Used for auto-detecting the value type of a variable. An implementation must return true if it is able to write values of the provided type.- Parameters:
value- the value- Returns:
- true if this
TypedValueSerializeris able to handle the provided value
-
convertToTypedValue
T convertToTypedValue(org.camunda.bpm.engine.variable.impl.value.UntypedValueImpl untypedValue)
Returns a typed value for the provided untyped value. This is used on cases where the user sets an untyped value which is then detected to be handled by thisTypedValueSerializer(by invocation ofcanHandle(TypedValue)).- Parameters:
untypedValue- the untyped value- Returns:
- the corresponding typed value
-
getSerializationDataformat
String getSerializationDataformat()
- Returns:
- the dataformat used by the serializer or null if this is not an object serializer
-
isMutableValue
boolean isMutableValue(T typedValue)
- Returns:
- whether values serialized by this serializer can be mutable and should be re-serialized if changed
-
-