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 Details

    • JacksonXMLDataFormat

      public JacksonXMLDataFormat()
  • Method Details

    • 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.