Class JacksonJsonDataFormat
java.lang.Object
org.operaton.spin.impl.json.jackson.format.JacksonJsonDataFormat
- All Implemented Interfaces:
DataFormat<SpinJsonNode>
Spin data format that can wrap Json content and uses
Jackson as its implementation.
Caches an instance of
ObjectMapper according to the advice given in the
Jackson documentation.- Author:
- Thorben Lindhauer, Stefan Hentschel
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected JacksonJsonDataFormatMapperprotected JacksonJsonDataFormatReaderprotected JacksonJsonDataFormatWriterprotected com.jayway.jsonpath.ConfigurationThe JsonPath configurationprotected final Stringprotected com.fasterxml.jackson.databind.ObjectMapperThe Jackson Object Mapper used by this dataformatprotected List<TypeDetector> -
Constructor Summary
ConstructorsConstructorDescriptionJacksonJsonDataFormat(String name) JacksonJsonDataFormat(String name, com.fasterxml.jackson.databind.ObjectMapper objectMapper) JacksonJsonDataFormat(String name, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.jayway.jsonpath.Configuration jsonPathConfiguration) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTypeDetector(TypeDetector typeDetector) com.fasterxml.jackson.databind.JavaTypeconstructJavaTypeFromCanonicalString(String canonicalString) Constructs aJavaTypeobject based on the parameter, which has to follow Jackson's canonical type string format.com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Boolean parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Double parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Float parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Integer parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Long parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Object parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(String parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(List<Object> parameter) com.fasterxml.jackson.databind.JsonNodecreateJsonNode(Map<String, Object> parameter) com.fasterxml.jackson.databind.JsonNodecreateWrapperInstance(Object parameter) getCanonicalTypeName(Object object) Identifies the canonical type of an object heuristically.com.jayway.jsonpath.ConfigurationReturns aConfigurationobject for jayway json path which uses this dataformat's object mapper asJsonProvider.getName()com.fasterxml.jackson.databind.ObjectMapperReturns the configured JacksonObjectMapperinstance.Class<? extends SpinJsonNode> protected voidinit()protected voidprotected voidprotected voidprotected voidvoidsetJsonPathConfiguration(com.jayway.jsonpath.Configuration jsonPathConfiguration) voidsetObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
Field Details
-
DATA_FORMAT_NAME
- See Also:
-
objectMapper
protected com.fasterxml.jackson.databind.ObjectMapper objectMapperThe Jackson Object Mapper used by this dataformat -
jsonPathConfiguration
protected com.jayway.jsonpath.Configuration jsonPathConfigurationThe JsonPath configuration -
typeDetectors
-
dataFormatReader
-
dataFormatWriter
-
dataFormatMapper
-
name
-
-
Constructor Details
-
JacksonJsonDataFormat
-
JacksonJsonDataFormat
-
JacksonJsonDataFormat
public JacksonJsonDataFormat(String name, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.jayway.jsonpath.Configuration jsonPathConfiguration)
-
-
Method Details
-
init
protected void init() -
initMapper
protected void initMapper() -
initWriter
protected void initWriter() -
initReader
protected void initReader() -
initTypeDetectors
protected void initTypeDetectors() -
getName
- Specified by:
getNamein interfaceDataFormat<SpinJsonNode>
-
getWrapperType
- Specified by:
getWrapperTypein interfaceDataFormat<SpinJsonNode>
-
createWrapperInstance
- Specified by:
createWrapperInstancein interfaceDataFormat<SpinJsonNode>
-
getCanonicalTypeName
Identifies the canonical type of an object heuristically.- Returns:
- the canonical type identifier of the object's class
according to Jackson's type format (see
TypeFactory.constructFromCanonical(String))
-
constructJavaTypeFromCanonicalString
public com.fasterxml.jackson.databind.JavaType constructJavaTypeFromCanonicalString(String canonicalString) Constructs aJavaTypeobject based on the parameter, which has to follow Jackson's canonical type string format.- Parameters:
canonicalString- canonical string representation of the type- Returns:
- the constructed java type
- Throws:
SpinJsonDataFormatException- if no type can be constructed from the given parameter
-
addTypeDetector
-
getMapper
- Specified by:
getMapperin interfaceDataFormat<SpinJsonNode>- Returns:
- the DataFormatMapper used by this data format
-
getReader
- Specified by:
getReaderin interfaceDataFormat<SpinJsonNode>
-
getWriter
- Specified by:
getWriterin interfaceDataFormat<SpinJsonNode>
-
getJsonPathConfiguration
public com.jayway.jsonpath.Configuration getJsonPathConfiguration()Returns aConfigurationobject for jayway json path which uses this dataformat's object mapper asJsonProvider.- Returns:
- the
Configurationfor jsonpath
-
setJsonPathConfiguration
public void setJsonPathConfiguration(com.jayway.jsonpath.Configuration jsonPathConfiguration) -
getObjectMapper
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()Returns the configured JacksonObjectMapperinstance.- Returns:
- the configured object mapper.
-
setObjectMapper
public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) -
createJsonNode
-
createJsonNode
-
createJsonNode
-
createJsonNode
-
createJsonNode
-
createJsonNode
-
createJsonNode
-
createJsonNode
-
createJsonNode
-
createNullJsonNode
public com.fasterxml.jackson.databind.JsonNode createNullJsonNode()
-