Class AbstractSerializableValueSerializer<T extends org.camunda.bpm.engine.variable.value.SerializableValue>
java.lang.Object
org.camunda.bpm.engine.impl.variable.serializer.AbstractTypedValueSerializer<T>
org.camunda.bpm.engine.impl.variable.serializer.AbstractSerializableValueSerializer<T>
- All Implemented Interfaces:
TypedValueSerializer<T>
- Direct Known Subclasses:
AbstractObjectValueSerializer
public abstract class AbstractSerializableValueSerializer<T extends org.camunda.bpm.engine.variable.value.SerializableValue>
extends AbstractTypedValueSerializer<T>
- Author:
- Roman Smirnov
-
Field Summary
FieldsFields inherited from class org.camunda.bpm.engine.impl.variable.serializer.AbstractTypedValueSerializer
BINARY_VALUE_TYPES, valueType -
Constructor Summary
ConstructorsConstructorDescriptionAbstractSerializableValueSerializer(org.camunda.bpm.engine.variable.type.SerializableValueType type, String serializationDataFormat) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract booleancanSerializeValue(Object value) return true if this serializer is able to serialize the provided object.protected booleancanWriteValue(org.camunda.bpm.engine.variable.value.TypedValue typedValue) protected abstract TcreateDeserializedValue(Object deserializedObject, String serializedStringValue, ValueFields valueFields, boolean asTransientValue) protected abstract TcreateSerializedValue(String serializedStringValue, ValueFields valueFields, boolean asTransientValue) protected abstract ObjectdeserializeFromByteArray(byte[] object, ValueFields valueFields) Deserialize the object from a byte array.protected byte[]getSerializedBytesValue(String serializedStringValue) protected StringgetSerializedStringValue(byte[] serializedByteValue) protected abstract booleanReturn true if the serialization is text based.protected byte[]readSerializedValueFromFields(ValueFields valueFields) readValue(ValueFields valueFields, boolean deserializeObjectValue, boolean asTransientValue) Retrieve aTypedValuefrom the providedValueFields.protected abstract byte[]serializeToByteArray(Object deserializedObject) Implementations must return a byte[] representation of the provided object.protected abstract voidupdateTypedValue(T value, String serializedStringValue) protected abstract voidwriteToValueFields(T value, ValueFields valueFields, byte[] serializedValue) voidwriteValue(T value, ValueFields valueFields) Serialize aTypedValueto theValueFields.Methods inherited from class org.camunda.bpm.engine.impl.variable.serializer.AbstractTypedValueSerializer
canHandle, getType, isMutableValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.camunda.bpm.engine.impl.variable.serializer.TypedValueSerializer
convertToTypedValue, getName
-
Field Details
-
serializationDataFormat
-
-
Constructor Details
-
AbstractSerializableValueSerializer
public AbstractSerializableValueSerializer(org.camunda.bpm.engine.variable.type.SerializableValueType type, String serializationDataFormat)
-
-
Method Details
-
getSerializationDataformat
- Specified by:
getSerializationDataformatin interfaceTypedValueSerializer<T extends org.camunda.bpm.engine.variable.value.SerializableValue>- Overrides:
getSerializationDataformatin classAbstractTypedValueSerializer<T extends org.camunda.bpm.engine.variable.value.SerializableValue>- Returns:
- the dataformat used by the serializer or null if this is not an object serializer
-
writeValue
Description copied from interface:TypedValueSerializerSerialize aTypedValueto theValueFields.- Parameters:
value- theTypedValueto persistvalueFields- theValueFieldsto which the value should be persisted
-
readValue
public T readValue(ValueFields valueFields, boolean deserializeObjectValue, boolean asTransientValue) Description copied from interface:TypedValueSerializerRetrieve aTypedValuefrom the providedValueFields.- Parameters:
valueFields- theValueFieldsto retrieve the value fromdeserializeObjectValue- indicates whether aSerializableValueshould be deserialized.- Returns:
- the
TypedValue
-
createDeserializedValue
protected abstract T createDeserializedValue(Object deserializedObject, String serializedStringValue, ValueFields valueFields, boolean asTransientValue) -
createSerializedValue
protected abstract T createSerializedValue(String serializedStringValue, ValueFields valueFields, boolean asTransientValue) -
writeToValueFields
protected abstract void writeToValueFields(T value, ValueFields valueFields, byte[] serializedValue) -
updateTypedValue
-
readSerializedValueFromFields
-
getSerializedStringValue
-
getSerializedBytesValue
-
canWriteValue
protected boolean canWriteValue(org.camunda.bpm.engine.variable.value.TypedValue typedValue) - Specified by:
canWriteValuein classAbstractTypedValueSerializer<T extends org.camunda.bpm.engine.variable.value.SerializableValue>
-
canSerializeValue
return true if this serializer is able to serialize the provided object.- Parameters:
value- the object to test (guaranteed to be a non-null value)- Returns:
- true if the serializer can handle the object.
-
serializeToByteArray
Implementations must return a byte[] representation of the provided object. The object is guaranteed not to be null.- Parameters:
deserializedObject- the object to serialize- Returns:
- the byte array value of the object
- Throws:
exception- in case the object cannot be serializedException
-
deserializeFromByteArray
protected abstract Object deserializeFromByteArray(byte[] object, ValueFields valueFields) throws Exception Deserialize the object from a byte array.- Parameters:
object- the object to deserializevalueFields- the value fields- Returns:
- the deserialized object
- Throws:
exception- in case the object cannot be deserializedException
-
isSerializationTextBased
protected abstract boolean isSerializationTextBased()Return true if the serialization is text based. Return false otherwise
-