Class ProtobufDataFormat
- java.lang.Object
-
- org.apache.camel.model.IdentifiedType
-
- org.apache.camel.model.DataFormatDefinition
-
- org.apache.camel.model.dataformat.ProtobufDataFormat
-
- All Implemented Interfaces:
ContentTypeHeaderAware
@Metadata(firstVersion="2.2.0", label="dataformat,transformation", title="Protobuf") public class ProtobufDataFormat extends DataFormatDefinition implements ContentTypeHeaderAwareSerialize and deserialize Java objects using Google's Protocol buffers.
-
-
Constructor Summary
Constructors Constructor Description ProtobufDataFormat()ProtobufDataFormat(String instanceClass)ProtobufDataFormat(String instanceClass, String contentTypeFormat)ProtobufDataFormat(ProtobufLibrary library)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProtobufDataFormatallowUnmarshallType(boolean allowUnmarshallType)ProtobufDataFormatallowUnmarshallType(String allowUnmarshallType)ProtobufDataFormatautoDiscoverObjectMapper(boolean autoDiscoverObjectMapper)ProtobufDataFormatautoDiscoverObjectMapper(String autoDiscoverObjectMapper)ProtobufDataFormatcollectionType(Class<?> collectionType)ProtobufDataFormatcollectionType(String collectionType)ProtobufDataFormatdisableFeatures(String disableFeatures)ProtobufDataFormatenableFeatures(String enableFeatures)StringgetAllowJmsType()StringgetAllowUnmarshallType()StringgetAutoDiscoverObjectMapper()StringgetAutoDiscoverSchemaResolver()Class<?>getCollectionType()StringgetCollectionTypeName()StringgetContentTypeFormat()StringgetContentTypeHeader()Whether the data format should set the Content-Type header with the type from the data format.StringgetDataFormatName()ObjectgetDefaultInstance()StringgetDisableFeatures()StringgetEnableFeatures()StringgetInclude()StringgetInstanceClass()Class<?>getJsonView()StringgetJsonViewTypeName()ProtobufLibrarygetLibrary()StringgetModuleClassNames()StringgetModuleRefs()StringgetObjectMapper()StringgetSchemaResolver()StringgetTimezone()Class<?>getUnmarshalType()StringgetUnmarshalTypeName()StringgetUseDefaultObjectMapper()StringgetUseList()ProtobufDataFormatinclude(String include)ProtobufDataFormatjsonView(Class<?> jsonView)ProtobufDataFormatmoduleClassNames(String moduleClassNames)ProtobufDataFormatmoduleRefs(String moduleRefs)ProtobufDataFormatobjectMapper(String objectMapper)voidsetAllowJmsType(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.voidsetAllowUnmarshallType(String allowUnmarshallType)If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling.voidsetAutoDiscoverObjectMapper(String autoDiscoverObjectMapper)If set to true then Jackson will lookup for an objectMapper into the registryvoidsetAutoDiscoverSchemaResolver(String autoDiscoverSchemaResolver)When not disabled, the SchemaResolver will be looked up into the registryvoidsetCollectionType(Class<?> collectionType)voidsetCollectionTypeName(String collectionTypeName)Refers to a custom collection type to lookup in the registry to use.voidsetContentTypeFormat(String contentTypeFormat)Defines a content type format in which protobuf message will be serialized/deserialized from(to) the Java been.voidsetContentTypeHeader(String contentTypeHeader)Whether the data format should set the Content-Type header with the type from the data format.voidsetDefaultInstance(Object defaultInstance)voidsetDisableFeatures(String disableFeatures)Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper.voidsetEnableFeatures(String enableFeatures)Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper.voidsetInclude(String include)If you want to marshal a pojo to JSON, and the pojo has some fields with null values.voidsetInstanceClass(String instanceClass)Name of class to use when unmarshallingvoidsetJsonView(Class<?> jsonView)When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output.voidsetJsonViewTypeName(String jsonViewTypeName)When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output.voidsetLibrary(ProtobufLibrary library)Which Protobuf library to use.voidsetModuleClassNames(String moduleClassNames)To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names.voidsetModuleRefs(String moduleRefs)To use custom Jackson modules referred from the Camel registry.voidsetObjectMapper(String objectMapper)Lookup and use the existing ObjectMapper with the given id when using Jackson.voidsetSchemaResolver(String schemaResolver)Optional schema resolver used to lookup schemas for the data in transit.voidsetTimezone(String timezone)If set then Jackson will use the Timezone when marshalling/unmarshalling.voidsetUnmarshalType(Class<?> unmarshalType)Class of the java type to use when unmarshallingvoidsetUnmarshalTypeName(String unmarshalTypeName)Class name of the java type to use when unmarshallingvoidsetUseDefaultObjectMapper(String useDefaultObjectMapper)Whether to lookup and use default Jackson ObjectMapper from the registry.voidsetUseList(String useList)To unmarshal to a List of Map or a List of Pojo.ProtobufDataFormatunmarshalType(Class<?> unmarshalType)ProtobufDataFormatunmarshalType(String unmarshalType)ProtobufDataFormatuseDefaultObjectMapper(boolean useDefaultObjectMapper)ProtobufDataFormatuseDefaultObjectMapper(String useDefaultObjectMapper)ProtobufDataFormatuseList(boolean useList)ProtobufDataFormatuseList(String useList)-
Methods inherited from class org.apache.camel.model.DataFormatDefinition
getDataFormat, getShortName, setDataFormat, setDataFormatName
-
Methods inherited from class org.apache.camel.model.IdentifiedType
getId, setId
-
-
-
-
Constructor Detail
-
ProtobufDataFormat
public ProtobufDataFormat()
-
ProtobufDataFormat
public ProtobufDataFormat(ProtobufLibrary library)
-
ProtobufDataFormat
public ProtobufDataFormat(String instanceClass)
-
-
Method Detail
-
getDataFormatName
public String getDataFormatName()
- Overrides:
getDataFormatNamein classDataFormatDefinition
-
getInstanceClass
public String getInstanceClass()
-
setInstanceClass
public void setInstanceClass(String instanceClass)
Name of class to use when unmarshalling
-
setContentTypeFormat
public void setContentTypeFormat(String contentTypeFormat)
Defines a content type format in which protobuf message will be serialized/deserialized from(to) the Java been. The format can either be native or json for either native protobuf or json fields representation. The default value is native.
-
getContentTypeFormat
public String getContentTypeFormat()
-
getContentTypeHeader
public String getContentTypeHeader()
Description copied from interface:ContentTypeHeaderAwareWhether 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:
getContentTypeHeaderin interfaceContentTypeHeaderAware
-
setContentTypeHeader
public void setContentTypeHeader(String contentTypeHeader)
Description copied from interface:ContentTypeHeaderAwareWhether 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:
setContentTypeHeaderin interfaceContentTypeHeaderAware
-
getDefaultInstance
public Object getDefaultInstance()
-
setDefaultInstance
public void setDefaultInstance(Object defaultInstance)
-
getLibrary
public ProtobufLibrary getLibrary()
-
setLibrary
public void setLibrary(ProtobufLibrary library)
Which Protobuf library to use.
-
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.
-
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.
-
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.
-
getTimezone
public String getTimezone()
-
setTimezone
public void setTimezone(String timezone)
If set then Jackson will use the Timezone when marshalling/unmarshalling.
-
getAutoDiscoverObjectMapper
public String getAutoDiscoverObjectMapper()
-
setAutoDiscoverObjectMapper
public void setAutoDiscoverObjectMapper(String autoDiscoverObjectMapper)
If set to true then Jackson will lookup for an objectMapper into the registry
-
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
-
objectMapper
public ProtobufDataFormat objectMapper(String objectMapper)
-
useDefaultObjectMapper
public ProtobufDataFormat useDefaultObjectMapper(boolean useDefaultObjectMapper)
-
useDefaultObjectMapper
public ProtobufDataFormat useDefaultObjectMapper(String useDefaultObjectMapper)
-
unmarshalType
public ProtobufDataFormat unmarshalType(String unmarshalType)
-
unmarshalType
public ProtobufDataFormat unmarshalType(Class<?> unmarshalType)
-
jsonView
public ProtobufDataFormat jsonView(Class<?> jsonView)
-
include
public ProtobufDataFormat include(String include)
-
collectionType
public ProtobufDataFormat collectionType(String collectionType)
-
collectionType
public ProtobufDataFormat collectionType(Class<?> collectionType)
-
useList
public ProtobufDataFormat useList(boolean useList)
-
useList
public ProtobufDataFormat useList(String useList)
-
moduleClassNames
public ProtobufDataFormat moduleClassNames(String moduleClassNames)
-
moduleRefs
public ProtobufDataFormat moduleRefs(String moduleRefs)
-
enableFeatures
public ProtobufDataFormat enableFeatures(String enableFeatures)
-
disableFeatures
public ProtobufDataFormat disableFeatures(String disableFeatures)
-
allowUnmarshallType
public ProtobufDataFormat allowUnmarshallType(boolean allowUnmarshallType)
-
allowUnmarshallType
public ProtobufDataFormat allowUnmarshallType(String allowUnmarshallType)
-
autoDiscoverObjectMapper
public ProtobufDataFormat autoDiscoverObjectMapper(boolean autoDiscoverObjectMapper)
-
autoDiscoverObjectMapper
public ProtobufDataFormat autoDiscoverObjectMapper(String autoDiscoverObjectMapper)
-
-