variableTypes.addType(new DoubleType());
variableTypes.addType(new ByteArrayType());
if (defaultSerializationFormat != null) {
defaultSerializationFormat = defaultSerializationFormat.trim();
VariableType serializationType = null;
for (SerializationVariableTypeResolver resolver : serializationTypeResolvers) {
serializationType = resolver.getTypeForSerializationFormat(defaultSerializationFormat);
if (serializationType != null) {
break;
}
}
if (serializationType != null) {
variableTypes.addType(serializationType);
} else {
throw new ProcessEngineException("Cannot find a VariableType that serializes objects"
+ " for the default format '" + defaultSerializationFormat + "'");
}
} else {
variableTypes.addType(new SerializableType());
if(ProcessEngineSpinSupport.isSpinAvailable()) {
VariableType spinVariableType = ProcessEngineSpinSupport
.getVariableTypeResolver()
.getTypeForSerializationFormat("application/json; implementation=tree");
variableTypes.addType(spinVariableType);
}
}