Class JsonDataFormat

    • Constructor Detail

      • JsonDataFormat

        public JsonDataFormat()
      • JsonDataFormat

        public JsonDataFormat​(JsonLibrary library)
    • Method Detail

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

        public String getObjectMapper()
      • setObjectMapper

        public void setObjectMapper​(String objectMapper)
        Lookup and use the existing ObjectMapper with the given id when using Jackson.
      • getUseDefaultObjectMapper

        public String getUseDefaultObjectMapper()
      • setUseDefaultObjectMapper

        public void setUseDefaultObjectMapper​(String useDefaultObjectMapper)
        Whether to lookup and use default Jackson ObjectMapper from the registry.
      • 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
      • setLibrary

        public void setLibrary​(JsonLibrary library)
        Which json library to use.
      • 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.
      • 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

      • getPermissions

        public String getPermissions()
      • setPermissions

        public void setPermissions​(String permissions)
        Adds permissions that controls which Java packages and classes XStream is allowed to use during unmarshal from xml/json to Java beans.

        A permission must be configured either here or globally using a JVM system property. The permission can be specified in a syntax where a plus sign is allow, and minus sign is deny.
        Wildcards is supported by using .* as prefix. For example to allow com.foo and all subpackages then specfy +com.foo.*. Multiple permissions can be configured separated by comma, such as +com.foo.*,-com.foo.bar.MySecretBean.
        The following default permission is always included: "-*,java.lang.*,java.util.*" unless its overridden by specifying a JVM system property with they key org.apache.camel.xstream.permissions.

      • setPermissions

        public void setPermissions​(Class<?>... type)
        To add permission for the given pojo classes.
        Parameters:
        type - the pojo class(es) xstream should use as allowed permission
        See Also:
        setPermissions(String)
      • 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.

      • getTimezone

        public String getTimezone()
      • setTimezone

        public void setTimezone​(String timezone)
        If set then Jackson will use the Timezone when marshalling/unmarshalling. This option will have no effect on the others Json DataFormat, like gson, fastjson and xstream.
      • getAutoDiscoverObjectMapper

        public String getAutoDiscoverObjectMapper()
      • setAutoDiscoverObjectMapper

        public void setAutoDiscoverObjectMapper​(String autoDiscoverObjectMapper)
        If set to true then Jackson will lookup for an objectMapper into the registry
      • getDropRootNode

        public String getDropRootNode()
      • setDropRootNode

        public void setDropRootNode​(String dropRootNode)
        Whether XStream will drop the root node in the generated JSon. You may want to enable this when using POJOs; as then the written object will include the class name as root node, which is often not intended to be written in the JSON output.
      • setSchemaResolver

        public void setSchemaResolver​(String schemaResolver)
        Optional schema resolver used to lookup schemas for the data in transit.
      • getSchemaResolver

        public String getSchemaResolver()
      • getAutoDiscoverSchemaResolver

        public String getAutoDiscoverSchemaResolver()
      • setAutoDiscoverSchemaResolver

        public void setAutoDiscoverSchemaResolver​(String autoDiscoverSchemaResolver)
        When not disabled, the SchemaResolver will be looked up into the registry
      • getNamingStrategy

        public String getNamingStrategy()
      • setNamingStrategy

        public void setNamingStrategy​(String namingStrategy)
        If set then Jackson will use the the defined Property Naming Strategy. Possible values are: LOWER_CAMEL_CASE, LOWER_DOT_CASE, LOWER_CASE, KEBAB_CASE, SNAKE_CASE and UPPER_CAMEL_CASE
      • useDefaultObjectMapper

        public JsonDataFormat useDefaultObjectMapper​(boolean useDefaultObjectMapper)
      • useDefaultObjectMapper

        public JsonDataFormat useDefaultObjectMapper​(String useDefaultObjectMapper)
      • prettyPrint

        public JsonDataFormat prettyPrint​(boolean prettyPrint)
      • allowJmsType

        public JsonDataFormat allowJmsType​(boolean allowJmsType)
      • allowUnmarshallType

        public JsonDataFormat allowUnmarshallType​(boolean allowUnmarshallType)
      • autoDiscoverObjectMapper

        public JsonDataFormat autoDiscoverObjectMapper​(boolean autoDiscoverObjectMapper)
      • autoDiscoverObjectMapper

        public JsonDataFormat autoDiscoverObjectMapper​(String autoDiscoverObjectMapper)
      • dropRootNode

        public JsonDataFormat dropRootNode​(boolean dropRootNode)