Class JacksonXMLDataFormat
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.CamelContextAware
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.DataFormat
,org.apache.camel.spi.DataFormatContentTypeHeader
,org.apache.camel.spi.DataFormatName
,org.apache.camel.spi.HasCamelContext
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
- Direct Known Subclasses:
ListJacksonXMLDataFormat
@Dataformat("jacksonXml")
public class JacksonXMLDataFormat
extends org.apache.camel.support.service.ServiceSupport
implements org.apache.camel.spi.DataFormat, org.apache.camel.spi.DataFormatName, org.apache.camel.spi.DataFormatContentTypeHeader, org.apache.camel.CamelContextAware
-
Field Summary
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
-
Constructor Summary
ConstructorsConstructorDescriptionUse the default JacksonXmlMapper
andMap
JacksonXMLDataFormat
(com.fasterxml.jackson.dataformat.xml.XmlMapper mapper, Class<?> unmarshalType) Use a custom Jackson mapper and and unmarshal typeJacksonXMLDataFormat
(com.fasterxml.jackson.dataformat.xml.XmlMapper mapper, Class<?> unmarshalType, Class<?> jsonView) Use a custom Jackson mapper, unmarshal type and JSON viewJacksonXMLDataFormat
(Class<?> unmarshalType) Use the default JacksonXmlMapper
and with a custom unmarshal typeJacksonXMLDataFormat
(Class<?> unmarshalType, Class<?> jsonView) Use the default JacksonXmlMapper
and with a custom unmarshal type and JSON viewJacksonXMLDataFormat
(Class<?> unmarshalType, Class<?> jsonView, boolean enableJaxbAnnotationModule) Use the default JacksonXmlMapper
and with a custom unmarshal type and JSON view -
Method Summary
Modifier and TypeMethodDescriptionvoid
addModule
(com.fasterxml.jackson.databind.Module module) To use the custom Jackson moduleprotected com.fasterxml.jackson.dataformat.xml.XmlMapper
void
disableFeature
(com.fasterxml.jackson.databind.DeserializationFeature feature) void
disableFeature
(com.fasterxml.jackson.databind.MapperFeature feature) void
disableFeature
(com.fasterxml.jackson.databind.SerializationFeature feature) void
disableFeature
(com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.Feature feature) protected void
doInit()
protected void
doStart()
protected void
doStop()
void
enableFeature
(com.fasterxml.jackson.databind.DeserializationFeature feature) void
enableFeature
(com.fasterxml.jackson.databind.MapperFeature feature) void
enableFeature
(com.fasterxml.jackson.databind.SerializationFeature feature) void
enableFeature
(com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.Feature feature) org.apache.camel.CamelContext
Class
<? extends Collection> Class
<?> int
List
<com.fasterxml.jackson.databind.Module> Class
<?> com.fasterxml.jackson.dataformat.xml.XmlMapper
boolean
boolean
boolean
boolean
boolean
boolean
boolean
void
marshal
(org.apache.camel.Exchange exchange, Object graph, OutputStream stream) void
setAllowJmsType
(boolean allowJmsType) Allows jackson to use the JMSType header as an indicator what the classname is for unmarshaling XML content to POJOvoid
setAllowUnmarshallType
(boolean allowJacksonUnmarshallType) If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling.void
setCamelContext
(org.apache.camel.CamelContext camelContext) void
setCollectionType
(Class<? extends Collection> collectionType) void
setCollectionTypeName
(String collectionTypeName) void
setContentTypeHeader
(boolean contentTypeHeader) If enabled then Jackson will set the Content-Type header to application/xml when marshalling.void
setDisableFeatures
(String disableFeatures) Set of features to disable on the JacksonXmlMapper
.void
setEnableFeatures
(String enableFeatures) Set of features to enable on the JacksonXmlMapper
.void
setEnableJacksonTypeConverter
(boolean enableJacksonTypeConverter) If enabled then Jackson is allowed to attempt to be used during Camels type converter as ainvalid reference
org.apache.camel.FallbackConverter
Map
/List
types.void
setEnableJaxbAnnotationModule
(boolean enableJaxbAnnotationModule) void
setInclude
(String include) void
setJsonView
(Class<?> jsonView) void
setJsonViewTypeName
(String jsonViewTypeName) void
setMaxStringLength
(int maxStringLength) void
setModuleClassNames
(String moduleClassNames) To use custom JacksonModule
s specified as a String with FQN class names.void
setModuleRefs
(String moduleRefs) To use custom Jackson modules referred from the Camel registry.void
setModules
(List<com.fasterxml.jackson.databind.Module> modules) To use custom JacksonModule
svoid
setPrettyPrint
(boolean prettyPrint) void
setTimezone
(TimeZone timezone) If set then Jackson will use the Timezone when marshalling/unmarshalling.void
setUnmarshalType
(Class<?> unmarshalType) void
setUnmarshalTypeName
(String unmarshalTypeName) void
setUseList
(boolean useList) void
setXmlMapper
(com.fasterxml.jackson.dataformat.xml.XmlMapper xmlMapper) unmarshal
(org.apache.camel.Exchange exchange, InputStream stream) void
useList()
UsesArrayList
when unmarshalling.void
useMap()
UsesLinkedHashMap
when unmarshalling.Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.camel.Service
build, close, init, start, stop
Methods inherited from interface org.apache.camel.ShutdownableService
shutdown
Methods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
JacksonXMLDataFormat
public JacksonXMLDataFormat()Use the default JacksonXmlMapper
andMap
-
JacksonXMLDataFormat
Use the default JacksonXmlMapper
and with a custom unmarshal type- Parameters:
unmarshalType
- the custom unmarshal type
-
JacksonXMLDataFormat
Use the default JacksonXmlMapper
and with a custom unmarshal type and JSON view- Parameters:
unmarshalType
- the custom unmarshal typejsonView
- marker class to specify properties to be included during marshalling. See also https://github.com/FasterXML/jackson-annotations/blob/master/src/main/java/com/fasterxml/jackson/annotation/JsonView.java
-
JacksonXMLDataFormat
public JacksonXMLDataFormat(Class<?> unmarshalType, Class<?> jsonView, boolean enableJaxbAnnotationModule) Use the default JacksonXmlMapper
and with a custom unmarshal type and JSON view- Parameters:
unmarshalType
- the custom unmarshal typejsonView
- marker class to specify properties to be included during marshalling. See also https://github.com/FasterXML/jackson-annotations/blob/master/src/main/java/com/fasterxml/jackson/annotation/JsonView.javaenableJaxbAnnotationModule
- if it is true, will enable the JaxbAnnotationModule.
-
JacksonXMLDataFormat
public JacksonXMLDataFormat(com.fasterxml.jackson.dataformat.xml.XmlMapper mapper, Class<?> unmarshalType) Use a custom Jackson mapper and and unmarshal type- Parameters:
mapper
- the custom mapperunmarshalType
- the custom unmarshal type
-
JacksonXMLDataFormat
public JacksonXMLDataFormat(com.fasterxml.jackson.dataformat.xml.XmlMapper mapper, Class<?> unmarshalType, Class<?> jsonView) Use a custom Jackson mapper, unmarshal type and JSON view- Parameters:
mapper
- the custom mapperunmarshalType
- the custom unmarshal typejsonView
- marker class to specify properties to be included during marshalling. See also https://github.com/FasterXML/jackson-annotations/blob/master/src/main/java/com/fasterxml/jackson/annotation/JsonView.java
-
-
Method Details
-
getDataFormatName
- Specified by:
getDataFormatName
in interfaceorg.apache.camel.spi.DataFormatName
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContext
in interfaceorg.apache.camel.spi.HasCamelContext
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
marshal
public void marshal(org.apache.camel.Exchange exchange, Object graph, OutputStream stream) throws Exception - Specified by:
marshal
in interfaceorg.apache.camel.spi.DataFormat
- Throws:
Exception
-
unmarshal
- Specified by:
unmarshal
in interfaceorg.apache.camel.spi.DataFormat
- Throws:
Exception
-
unmarshal
- Specified by:
unmarshal
in interfaceorg.apache.camel.spi.DataFormat
- Throws:
Exception
-
getXmlMapper
public com.fasterxml.jackson.dataformat.xml.XmlMapper getXmlMapper() -
setXmlMapper
public void setXmlMapper(com.fasterxml.jackson.dataformat.xml.XmlMapper xmlMapper) -
getUnmarshalTypeName
-
setUnmarshalTypeName
-
getUnmarshalType
-
setUnmarshalType
-
getCollectionTypeName
-
setCollectionTypeName
-
getCollectionType
-
setCollectionType
-
getJsonViewTypeName
-
setJsonViewTypeName
-
getJsonView
-
setJsonView
-
getInclude
-
setInclude
-
isAllowJmsType
public boolean isAllowJmsType() -
isPrettyPrint
public boolean isPrettyPrint() -
setPrettyPrint
public void setPrettyPrint(boolean prettyPrint) -
isUseList
public boolean isUseList() -
setUseList
public void setUseList(boolean useList) -
isEnableJaxbAnnotationModule
public boolean isEnableJaxbAnnotationModule() -
setEnableJaxbAnnotationModule
public void setEnableJaxbAnnotationModule(boolean enableJaxbAnnotationModule) -
getModules
-
setModules
To use custom JacksonModule
s -
getModuleClassNames
-
addModule
public void addModule(com.fasterxml.jackson.databind.Module module) To use the custom Jackson module -
setModuleClassNames
To use custom JacksonModule
s specified as a String with FQN class names. Multiple classes can be separated by comma. -
getModuleRefs
-
setModuleRefs
To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma. -
useList
public void useList()UsesArrayList
when unmarshalling. -
useMap
public void useMap()UsesLinkedHashMap
when unmarshalling. -
setAllowJmsType
public void setAllowJmsType(boolean allowJmsType) Allows jackson to use the JMSType header as an indicator what the classname is for unmarshaling XML content to POJO By default this option is false. -
isEnableJacksonTypeConverter
public boolean isEnableJacksonTypeConverter() -
setEnableJacksonTypeConverter
public void setEnableJacksonTypeConverter(boolean enableJacksonTypeConverter) If enabled then Jackson is allowed to attempt to be used during Camels type converter as ainvalid reference
org.apache.camel.FallbackConverter
Map
/List
types. This should only be enabled when desired to be used. -
isAllowUnmarshallType
public boolean isAllowUnmarshallType() -
setAllowUnmarshallType
public void setAllowUnmarshallType(boolean allowJacksonUnmarshallType) If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used. -
isContentTypeHeader
public boolean isContentTypeHeader() -
setContentTypeHeader
public void setContentTypeHeader(boolean contentTypeHeader) If enabled then Jackson will set the Content-Type header to application/xml when marshalling.- Specified by:
setContentTypeHeader
in interfaceorg.apache.camel.spi.DataFormatContentTypeHeader
-
getTimezone
-
setTimezone
If set then Jackson will use the Timezone when marshalling/unmarshalling. -
getMaxStringLength
public int getMaxStringLength() -
setMaxStringLength
public void setMaxStringLength(int maxStringLength) -
getEnableFeatures
-
setEnableFeatures
Set of features to enable on the JacksonXmlMapper
. The features should be a name that matches a enum fromSerializationFeature
,DeserializationFeature
, orMapperFeature
. -
getDisableFeatures
-
setDisableFeatures
Set of features to disable on the JacksonXmlMapper
. The features should be a name that matches a enum fromSerializationFeature
,DeserializationFeature
, orMapperFeature
. -
enableFeature
public void enableFeature(com.fasterxml.jackson.databind.SerializationFeature feature) -
enableFeature
public void enableFeature(com.fasterxml.jackson.databind.DeserializationFeature feature) -
enableFeature
public void enableFeature(com.fasterxml.jackson.databind.MapperFeature feature) -
enableFeature
public void enableFeature(com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.Feature feature) -
disableFeature
public void disableFeature(com.fasterxml.jackson.databind.SerializationFeature feature) -
disableFeature
public void disableFeature(com.fasterxml.jackson.databind.DeserializationFeature feature) -
disableFeature
public void disableFeature(com.fasterxml.jackson.databind.MapperFeature feature) -
disableFeature
public void disableFeature(com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.Feature feature) -
createNewXmlMapper
protected com.fasterxml.jackson.dataformat.xml.XmlMapper createNewXmlMapper() -
doInit
- Overrides:
doInit
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStart
- Overrides:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-