Class JacksonXMLDataFormat

  • All Implemented Interfaces:
    ContentTypeHeaderAware

    @Metadata(firstVersion="2.16.0",
              label="dataformat,transformation,xml",
              title="Jackson XML")
    public class JacksonXMLDataFormat
    extends DataFormatDefinition
    implements ContentTypeHeaderAware
    Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson.
    • Constructor Detail

      • JacksonXMLDataFormat

        public JacksonXMLDataFormat()
    • Method Detail

      • getXmlMapper

        public String getXmlMapper()
      • setXmlMapper

        public void setXmlMapper​(String xmlMapper)
        Lookup and use the existing XmlMapper with the given id.
      • getPrettyPrint

        public String getPrettyPrint()
      • setPrettyPrint

        public void setPrettyPrint​(String prettyPrint)
        To enable pretty printing output nicely formatted.

        Is by default false.

      • getUnmarshalTypeName

        public String getUnmarshalTypeName()
      • setUnmarshalTypeName

        public void setUnmarshalTypeName​(String unmarshalTypeName)
        Class name of the java type to use when unmarshalling
      • getUnmarshalType

        public Class<?> getUnmarshalType()
      • setUnmarshalType

        public void setUnmarshalType​(Class<?> unmarshalType)
        Class of the java type to use when unmarshalling
      • getJsonViewTypeName

        public String getJsonViewTypeName()
      • setJsonViewTypeName

        public void setJsonViewTypeName​(String jsonViewTypeName)
        When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has @JsonView annotations
      • getJsonView

        public Class<?> getJsonView()
      • setJsonView

        public void setJsonView​(Class<?> jsonView)
        When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has @JsonView annotations
      • getInclude

        public String getInclude()
      • setInclude

        public void setInclude​(String include)
        If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL
      • getAllowJmsType

        public String getAllowJmsType()
      • setAllowJmsType

        public void setAllowJmsType​(String allowJmsType)
        Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.
      • getCollectionTypeName

        public String getCollectionTypeName()
      • setCollectionTypeName

        public void setCollectionTypeName​(String collectionTypeName)
        Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.
      • getCollectionType

        public Class<?> getCollectionType()
      • setCollectionType

        public void setCollectionType​(Class<?> collectionType)
      • getUseList

        public String getUseList()
      • setUseList

        public void setUseList​(String useList)
        To unmarshal to a List of Map or a List of Pojo.
      • getEnableJaxbAnnotationModule

        public String getEnableJaxbAnnotationModule()
      • setEnableJaxbAnnotationModule

        public void setEnableJaxbAnnotationModule​(String enableJaxbAnnotationModule)
        Whether to enable the JAXB annotations module when using jackson. When enabled then JAXB annotations can be used by Jackson.
      • getModuleClassNames

        public String getModuleClassNames()
      • setModuleClassNames

        public void setModuleClassNames​(String moduleClassNames)
        To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.
      • getModuleRefs

        public String getModuleRefs()
      • setModuleRefs

        public void setModuleRefs​(String moduleRefs)
        To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.
      • getEnableFeatures

        public String getEnableFeatures()
      • setEnableFeatures

        public void setEnableFeatures​(String enableFeatures)
        Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper.

        The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature

        Multiple features can be separated by comma

      • getDisableFeatures

        public String getDisableFeatures()
      • setDisableFeatures

        public void setDisableFeatures​(String disableFeatures)
        Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper.

        The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature

        Multiple features can be separated by comma

      • getAllowUnmarshallType

        public String getAllowUnmarshallType()
      • setAllowUnmarshallType

        public void setAllowUnmarshallType​(String allowUnmarshallType)
        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.

      • getContentTypeHeader

        public String getContentTypeHeader()
        Description copied from interface: ContentTypeHeaderAware
        Whether the data format should set the Content-Type header with the type from the data format.

        For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc.

        Specified by:
        getContentTypeHeader in interface ContentTypeHeaderAware
      • setContentTypeHeader

        public void setContentTypeHeader​(String contentTypeHeader)
        Description copied from interface: ContentTypeHeaderAware
        Whether the data format should set the Content-Type header with the type from the data format.

        For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc.

        Specified by:
        setContentTypeHeader in interface ContentTypeHeaderAware
      • getTimezone

        public String getTimezone()
      • setTimezone

        public void setTimezone​(String timezone)
        If set then Jackson will use the Timezone when marshalling/unmarshalling.