You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/11/07 13:03:41 UTC

[camel] branch CAMEL-17505/dataformat-dsl-with-primitive-types created (now 97ca8b61851)

This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a change to branch CAMEL-17505/dataformat-dsl-with-primitive-types
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 97ca8b61851 CAMEL-17505: camel-core - Don't set default values

This branch includes the following new commits:

     new 6c2770c0d7d CAMEL-17505: camel-core - Propose primitive types in builder methods
     new 97ca8b61851 CAMEL-17505: camel-core - Don't set default values

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel] 02/02: CAMEL-17505: camel-core - Don't set default values

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch CAMEL-17505/dataformat-dsl-with-primitive-types
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 97ca8b61851faec305c2913e738e7142ef745d95
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Mon Nov 7 14:02:11 2022 +0100

    CAMEL-17505: camel-core - Don't set default values
---
 .../org/apache/camel/model/dataformat/Any23DataFormat.java |  2 +-
 .../org/apache/camel/model/dataformat/AvroDataFormat.java  |  6 +++---
 .../apache/camel/model/dataformat/Base64DataFormat.java    |  2 +-
 .../org/apache/camel/model/dataformat/BindyDataFormat.java |  4 ++--
 .../org/apache/camel/model/dataformat/CBORDataFormat.java  | 10 +++++-----
 .../apache/camel/model/dataformat/CryptoDataFormat.java    |  6 +++---
 .../org/apache/camel/model/dataformat/CsvDataFormat.java   |  2 +-
 .../org/apache/camel/model/dataformat/FhirDataformat.java  |  4 ++--
 .../apache/camel/model/dataformat/FlatpackDataFormat.java  |  4 ++--
 .../org/apache/camel/model/dataformat/GrokDataFormat.java  |  2 +-
 .../org/apache/camel/model/dataformat/HL7DataFormat.java   |  2 +-
 .../camel/model/dataformat/JacksonXMLDataFormat.java       |  2 +-
 .../org/apache/camel/model/dataformat/JaxbDataFormat.java  |  4 ++--
 .../org/apache/camel/model/dataformat/JsonDataFormat.java  | 10 +++++-----
 .../org/apache/camel/model/dataformat/PGPDataFormat.java   |  4 ++--
 .../apache/camel/model/dataformat/ProtobufDataFormat.java  | 10 +++++-----
 .../org/apache/camel/model/dataformat/SoapDataFormat.java  |  2 +-
 .../apache/camel/model/dataformat/TarFileDataFormat.java   |  2 +-
 .../apache/camel/model/dataformat/ThriftDataFormat.java    |  4 ++--
 .../camel/model/dataformat/TidyMarkupDataFormat.java       |  2 +-
 .../model/dataformat/UniVocityAbstractDataFormat.java      | 10 +++++-----
 .../camel/model/dataformat/UniVocityCsvDataFormat.java     |  6 +++---
 .../camel/model/dataformat/UniVocityTsvDataFormat.java     |  2 +-
 .../camel/model/dataformat/XMLSecurityDataFormat.java      | 10 +++++-----
 .../apache/camel/model/dataformat/XStreamDataFormat.java   | 14 +++++++++++++-
 .../org/apache/camel/model/dataformat/YAMLDataFormat.java  |  6 +++---
 .../camel/model/dataformat/ZipDeflaterDataFormat.java      |  2 +-
 .../apache/camel/model/dataformat/ZipFileDataFormat.java   |  2 +-
 28 files changed, 74 insertions(+), 62 deletions(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
index 9c7914f060a..ea43ab81d79 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Any23DataFormat.java
@@ -169,7 +169,7 @@ public class Any23DataFormat extends DataFormatDefinition {
     @XmlTransient
     public static class Builder implements DataFormatBuilder<Any23DataFormat> {
 
-        private String outputFormat = "RDF4JMODEL";
+        private String outputFormat;
         private String baseUri;
         private List<PropertyDefinition> configuration;
         private Map<String, String> configurations;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
index 385c6611ddb..9d93ba3b137 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
@@ -534,7 +534,7 @@ public class AvroDataFormat extends DataFormatDefinition {
         private String instanceClassName;
         private AvroLibrary library = AvroLibrary.ApacheAvro;
         private String objectMapper;
-        private String useDefaultObjectMapper = "true";
+        private String useDefaultObjectMapper;
         private String unmarshalTypeName;
         private String jsonViewTypeName;
         private String include;
@@ -548,9 +548,9 @@ public class AvroDataFormat extends DataFormatDefinition {
         private String allowUnmarshallType;
         private String timezone;
         private String autoDiscoverObjectMapper;
-        private String contentTypeHeader = "true";
+        private String contentTypeHeader;
         private String schemaResolver;
-        private String autoDiscoverSchemaResolver = "true";
+        private String autoDiscoverSchemaResolver;
 
         /**
          * Class name to use for marshal and unmarshalling
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
index f72157eaeb7..4428192a480 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
@@ -99,7 +99,7 @@ public class Base64DataFormat extends DataFormatDefinition {
     @XmlTransient
     public static class Builder implements DataFormatBuilder<Base64DataFormat> {
 
-        private String lineLength = "76";
+        private String lineLength;
         private String lineSeparator;
         private String urlSafe;
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
index 6e953ad105d..c94c26d07de 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
@@ -229,8 +229,8 @@ public class BindyDataFormat extends DataFormatDefinition {
         private Class<?> clazz;
         private String type;
         private String classType;
-        private String allowEmptyStream = "false";
-        private String unwrapSingleInstance = "true";
+        private String allowEmptyStream;
+        private String unwrapSingleInstance;
         private String locale;
 
         /**
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java
index 27e7a84f1a6..cb6cc657af1 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java
@@ -246,13 +246,13 @@ public class CBORDataFormat extends DataFormatDefinition {
         private Class<?> collectionType;
         private Class<?> unmarshalType;
         private String objectMapper;
-        private String useDefaultObjectMapper = "true";
+        private String useDefaultObjectMapper;
         private String unmarshalTypeName;
         private String collectionTypeName;
-        private String useList = "false";
-        private String allowUnmarshallType = "false";
-        private String prettyPrint = "false";
-        private String allowJmsType = "false";
+        private String useList;
+        private String allowUnmarshallType;
+        private String prettyPrint;
+        private String allowJmsType;
         private String enableFeatures;
         private String disableFeatures;
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
index ce51e6e4bb8..a66d7d6885d 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
@@ -191,10 +191,10 @@ public class CryptoDataFormat extends DataFormatDefinition {
         private String cryptoProvider;
         private String initVectorRef;
         private String algorithmParameterRef;
-        private String bufferSize = "4096";
+        private String bufferSize;
         private String macAlgorithm = "HmacSHA1";
-        private String shouldAppendHMAC = "true";
-        private String inline = "false";
+        private String shouldAppendHMAC;
+        private String inline;
 
         /**
          * The JCE algorithm name indicating the cryptographic algorithm that will be used.
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
index fdf6d303944..5d5c914ad89 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
@@ -510,7 +510,7 @@ public class CsvDataFormat extends DataFormatDefinition {
     @XmlTransient
     public static class Builder implements DataFormatBuilder<CsvDataFormat> {
         private String formatRef;
-        private String formatName = "DEFAULT";
+        private String formatName;
         private String commentMarkerDisabled;
         private String commentMarker;
         private String delimiter;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java
index 58f46bcf704..8f4a6e03f07 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java
@@ -403,7 +403,7 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             implements DataFormatBuilder<F> {
 
         private Object fhirContext;
-        private String fhirVersion = "R4";
+        private String fhirVersion;
         private String prettyPrint;
         private Object parserErrorHandler;
         private Object parserOptions;
@@ -419,7 +419,7 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
         private String summaryMode;
         private String suppressNarratives;
         private List<String> dontStripVersionsFromReferencesAtPaths;
-        private String contentTypeHeader = "true";
+        private String contentTypeHeader;
 
         public T fhirContext(Object fhirContext) {
             this.fhirContext = fhirContext;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
index 1e3b59e25ca..e48e70fc9ce 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
@@ -175,8 +175,8 @@ public class FlatpackDataFormat extends DataFormatDefinition {
 
         private String definition;
         private String fixed;
-        private String delimiter = ",";
-        private String ignoreFirstRecord = "true";
+        private String delimiter;
+        private String ignoreFirstRecord;
         private String allowShortLines;
         private String ignoreExtraColumns;
         private String textQualifier;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java
index 3f5e041db08..265bd301206 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java
@@ -118,7 +118,7 @@ public class GrokDataFormat extends DataFormatDefinition {
 
         private String pattern;
         private String flattened;
-        private String allowMultipleMatchesPerLine = "true";
+        private String allowMultipleMatchesPerLine;
         private String namedOnly;
 
         /**
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
index 0bacf9ecd16..4eaa21d97c1 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
@@ -83,7 +83,7 @@ public class HL7DataFormat extends DataFormatDefinition {
     public static class Builder implements DataFormatBuilder<HL7DataFormat> {
 
         private Object parser;
-        private String validate = "true";
+        private String validate;
 
         /**
          * Whether to validate the HL7 message
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
index 9a3143fd99b..42f8914322a 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
@@ -367,7 +367,7 @@ public class JacksonXMLDataFormat extends DataFormatDefinition implements Conten
         private String moduleRefs;
         private String enableFeatures;
         private String disableFeatures;
-        private String contentTypeHeader = "true";
+        private String contentTypeHeader;
 
         /**
          * Lookup and use the existing XmlMapper with the given id.
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
index 7c826cb8db3..82df4f41e9a 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
@@ -356,7 +356,7 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
         private String contextPath;
         private String contextPathIsClassName;
         private String schema;
-        private String schemaSeverityLevel = "0";
+        private String schemaSeverityLevel;
         private String prettyPrint;
         private String objectFactory;
         private String ignoreJAXBElement;
@@ -371,7 +371,7 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
         private String schemaLocation;
         private String noNamespaceSchemaLocation;
         private String jaxbProviderProperties;
-        private String contentTypeHeader = "true";
+        private String contentTypeHeader;
 
         /**
          * Package name where your JAXB classes are located.
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
index a8184d42a0c..099b83dd173 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
@@ -643,8 +643,8 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
     public static class Builder implements DataFormatBuilder<JsonDataFormat> {
 
         private String objectMapper;
-        private String useDefaultObjectMapper = "true";
-        private String autoDiscoverObjectMapper = "false";
+        private String useDefaultObjectMapper;
+        private String autoDiscoverObjectMapper;
         private String prettyPrint;
         private JsonLibrary library = JsonLibrary.Jackson;
         private String unmarshalTypeName;
@@ -663,11 +663,11 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
         private String permissions;
         private String allowUnmarshallType;
         private String timezone;
-        private String dropRootNode = "false";
+        private String dropRootNode;
         private String schemaResolver;
-        private String autoDiscoverSchemaResolver = "true";
+        private String autoDiscoverSchemaResolver;
         private String namingStrategy;
-        private String contentTypeHeader = "true";
+        private String contentTypeHeader;
 
         public Builder contentTypeHeader(String contentTypeHeader) {
             this.contentTypeHeader = contentTypeHeader;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java
index 07c03d1c906..3e33bd68985 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java
@@ -280,8 +280,8 @@ public class PGPDataFormat extends DataFormatDefinition {
         private String keyFileName;
         private String signatureKeyFileName;
         private String signatureKeyRing;
-        private String armored = "false";
-        private String integrity = "true";
+        private String armored;
+        private String integrity;
         private String provider;
         private String algorithm;
         private String compressionAlgorithm;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
index 9ee7e7b9472..9c4c48ad3a7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
@@ -551,8 +551,8 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
         private Object defaultInstance;
         private String instanceClass;
         private String objectMapper;
-        private String useDefaultObjectMapper = "true";
-        private String autoDiscoverObjectMapper = "false";
+        private String useDefaultObjectMapper;
+        private String autoDiscoverObjectMapper;
         private ProtobufLibrary library = ProtobufLibrary.GoogleProtobuf;
         private String unmarshalTypeName;
         private Class<?> unmarshalType;
@@ -570,9 +570,9 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
         private String allowUnmarshallType;
         private String timezone;
         private String schemaResolver;
-        private String autoDiscoverSchemaResolver = "true";
-        private String contentTypeFormat = "native";
-        private String contentTypeHeader = "true";
+        private String autoDiscoverSchemaResolver;
+        private String contentTypeFormat;
+        private String contentTypeHeader;
 
         /**
          * Name of class to use when unmarshalling
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
index aad760a6f7c..dc60ba7cb00 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
@@ -208,7 +208,7 @@ public class SoapDataFormat extends DataFormatDefinition {
         private String encoding;
         private String elementNameStrategyRef;
         private Object elementNameStrategy;
-        private String version = "1.1";
+        private String version;
         private String namespacePrefixRef;
         private String schema;
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java
index f9208c19f65..9adbc8596f6 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java
@@ -118,7 +118,7 @@ public class TarFileDataFormat extends DataFormatDefinition {
         private String usingIterator;
         private String allowEmptyDirectory;
         private String preservePathElements;
-        private String maxDecompressedSize = "1073741824";
+        private String maxDecompressedSize;
 
         /**
          * If the tar file has more than one entry, the setting this option to true, allows working with the splitter
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java
index 7707d111d9e..b429b6686be 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java
@@ -119,8 +119,8 @@ public class ThriftDataFormat extends DataFormatDefinition implements ContentTyp
 
         private Object defaultInstance;
         private String instanceClass;
-        private String contentTypeFormat = "binary";
-        private String contentTypeHeader = "true";
+        private String contentTypeFormat;
+        private String contentTypeHeader;
 
         /**
          * Name of class to use when unmarshalling
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java
index 459df6aa409..e3c901c2d77 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java
@@ -111,7 +111,7 @@ public class TidyMarkupDataFormat extends DataFormatDefinition {
     public static class Builder implements DataFormatBuilder<TidyMarkupDataFormat> {
 
         private Class<?> dataObjectType;
-        private String dataObjectTypeName = "org.w3c.dom.Node";
+        private String dataObjectTypeName;
         private String omitXmlDeclaration;
 
         /**
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java
index bf58917b70c..e2e55bb6aa3 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java
@@ -291,17 +291,17 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             implements DataFormatBuilder<F> {
 
         private String nullValue;
-        private String skipEmptyLines = "true";
-        private String ignoreTrailingWhitespaces = "true";
-        private String ignoreLeadingWhitespaces = "true";
+        private String skipEmptyLines;
+        private String ignoreTrailingWhitespaces;
+        private String ignoreLeadingWhitespaces;
         private String headersDisabled;
         private List<UniVocityHeader> headers;
         private String headerExtractionEnabled;
         private String numberOfRecordsToRead;
         private String emptyValue;
         private String lineSeparator;
-        private String normalizedLineSeparator = "\\n";
-        private String comment = "#";
+        private String normalizedLineSeparator;
+        private String comment;
         private String lazyLoad;
         private String asMap;
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java
index e52cea6e485..78b3b261c27 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java
@@ -107,10 +107,10 @@ public class UniVocityCsvDataFormat extends UniVocityAbstractDataFormat {
     @XmlTransient
     public static class Builder extends AbstractBuilder<Builder, UniVocityCsvDataFormat> {
 
-        private String delimiter = ",";
+        private String delimiter;
         private String quoteAllFields;
-        private String quote = "\"";
-        private String quoteEscape = "\"";
+        private String quote;
+        private String quoteEscape;
 
         /**
          * Whether or not all values must be quoted when writing them.
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityTsvDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityTsvDataFormat.java
index c9419c412a1..edf1a158053 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityTsvDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityTsvDataFormat.java
@@ -62,7 +62,7 @@ public class UniVocityTsvDataFormat extends UniVocityAbstractDataFormat {
     @XmlTransient
     public static class Builder extends AbstractBuilder<Builder, UniVocityTsvDataFormat> {
 
-        private String escapeChar = "\\";
+        private String escapeChar;
 
         /**
          * The escape character.
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java
index 067bde9d1e4..e10f25fbdbd 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java
@@ -302,18 +302,18 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names
     @XmlTransient
     public static class Builder implements DataFormatBuilder<XMLSecurityDataFormat> {
 
-        private String xmlCipherAlgorithm = "AES-256-GCM";
+        private String xmlCipherAlgorithm;
         private String passPhrase;
         private byte[] passPhraseByte;
         private String secureTag;
         private String secureTagContents;
-        private String keyCipherAlgorithm = "RSA_OAEP";
+        private String keyCipherAlgorithm;
         private String recipientKeyAlias;
         private String keyOrTrustStoreParametersRef;
         private String keyPassword;
-        private String digestAlgorithm = "SHA1";
-        private String mgfAlgorithm = "MGF1_SHA1";
-        private String addKeyValueForEncryptedKey = "true";
+        private String digestAlgorithm;
+        private String mgfAlgorithm;
+        private String addKeyValueForEncryptedKey;
         private KeyStoreParameters keyOrTrustStoreParameters;
         private Map<String, String> namespaces;
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java
index 9a82de88875..4a23715d472 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java
@@ -322,7 +322,7 @@ public class XStreamDataFormat extends DataFormatDefinition implements ContentTy
         private String driver;
         private String driverRef;
         private String mode;
-        private String contentTypeHeader = "true";
+        private String contentTypeHeader;
         private List<PropertyDefinition> converters;
         private List<PropertyDefinition> aliases;
         private List<PropertyDefinition> omitFields;
@@ -383,6 +383,18 @@ public class XStreamDataFormat extends DataFormatDefinition implements ContentTy
             return converters(XStreamDataFormat.toList(converters));
         }
 
+        /**
+         * Alias a Class to a shorter name to be used in XML elements.
+         */
+        public Builder aliases(List<PropertyDefinition> aliases) {
+            this.aliases = aliases;
+            return this;
+        }
+
+        public Builder aliases(Map<String, String> aliases) {
+            return aliases(toList(aliases));
+        }
+
         /**
          * Prevents a field from being serialized. To omit a field you must always provide the declaring type and not
          * necessarily the type that is converted. Multiple values can be separated by comma.
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java
index 03d0f29127b..963cbcd9b7b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java
@@ -44,7 +44,7 @@ public class YAMLDataFormat extends DataFormatDefinition {
 
     @XmlAttribute
     @Metadata(defaultValue = "SnakeYAML")
-    private YAMLLibrary library = YAMLLibrary.SnakeYAML;
+    private YAMLLibrary library;
     @XmlAttribute(name = "unmarshalType")
     private String unmarshalTypeName;
     @XmlAttribute
@@ -288,11 +288,11 @@ public class YAMLDataFormat extends DataFormatDefinition {
         private String representer;
         private String dumperOptions;
         private String resolver;
-        private String useApplicationContextClassLoader = "true";
+        private String useApplicationContextClassLoader;
         private String prettyFlow;
         private String allowAnyType;
         private List<YAMLTypeFilterDefinition> typeFilters;
-        private String maxAliasesForCollections = "50";
+        private String maxAliasesForCollections;
         private String allowRecursiveKeys;
 
         /**
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java
index 907313ea43c..ace0e0ecd25 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java
@@ -65,7 +65,7 @@ public class ZipDeflaterDataFormat extends DataFormatDefinition {
     @XmlTransient
     public static class Builder implements DataFormatBuilder<ZipDeflaterDataFormat> {
 
-        private String compressionLevel = "-1";
+        private String compressionLevel;
 
         /**
          * To specify a specific compression between 0-9. -1 is default compression, 0 is no compression, and 9 is the
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java
index 363d54845a5..f15fee2ae9f 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java
@@ -119,7 +119,7 @@ public class ZipFileDataFormat extends DataFormatDefinition {
         private String usingIterator;
         private String allowEmptyDirectory;
         private String preservePathElements;
-        private String maxDecompressedSize = "1073741824";
+        private String maxDecompressedSize;
 
         /**
          * If the zip file has more than one entry, the setting this option to true, allows working with the splitter


[camel] 01/02: CAMEL-17505: camel-core - Propose primitive types in builder methods

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch CAMEL-17505/dataformat-dsl-with-primitive-types
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 6c2770c0d7d768083bf4bc35c496603147a0af7c
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Mon Nov 7 12:12:21 2022 +0100

    CAMEL-17505: camel-core - Propose primitive types in builder methods
---
 .../camel/model/dataformat/ASN1DataFormat.java     |   9 ++
 .../camel/model/dataformat/AvroDataFormat.java     |  57 +++++++++
 .../camel/model/dataformat/BarcodeDataFormat.java  |  16 +++
 .../camel/model/dataformat/Base64DataFormat.java   |  19 +++
 .../camel/model/dataformat/BindyDataFormat.java    |  18 +++
 .../camel/model/dataformat/CBORDataFormat.java     |  46 ++++++++
 .../camel/model/dataformat/CryptoDataFormat.java   |  26 +++++
 .../camel/model/dataformat/CsvDataFormat.java      | 128 +++++++++++++++++++++
 .../camel/model/dataformat/FhirDataformat.java     |  95 +++++++++++++++
 .../camel/model/dataformat/FlatpackDataFormat.java |  34 ++++++
 .../camel/model/dataformat/GrokDataFormat.java     |  26 +++++
 .../camel/model/dataformat/HL7DataFormat.java      |  10 ++
 .../camel/model/dataformat/IcalDataFormat.java     |   8 ++
 .../model/dataformat/JacksonXMLDataFormat.java     |  52 +++++++++
 .../camel/model/dataformat/JaxbDataFormat.java     |  80 +++++++++++++
 .../camel/model/dataformat/JsonDataFormat.java     |  77 +++++++++++++
 .../camel/model/dataformat/LZFDataFormat.java      |   8 ++
 .../model/dataformat/MimeMultipartDataFormat.java  |  32 ++++++
 .../camel/model/dataformat/PGPDataFormat.java      |  46 ++++++++
 .../camel/model/dataformat/ProtobufDataFormat.java |  57 +++++++++
 .../camel/model/dataformat/TarFileDataFormat.java  |  39 +++++++
 .../camel/model/dataformat/ThriftDataFormat.java   |   5 +
 .../model/dataformat/TidyMarkupDataFormat.java     |   8 ++
 .../dataformat/UniVocityAbstractDataFormat.java    |  81 +++++++++++++
 .../model/dataformat/UniVocityCsvDataFormat.java   |   8 ++
 .../model/dataformat/UniVocityFixedDataFormat.java |  20 ++++
 .../model/dataformat/XMLSecurityDataFormat.java    |  18 +++
 .../camel/model/dataformat/XStreamDataFormat.java  |   5 +
 .../camel/model/dataformat/YAMLDataFormat.java     |  40 +++++++
 .../model/dataformat/ZipDeflaterDataFormat.java    |   9 ++
 .../camel/model/dataformat/ZipFileDataFormat.java  |  39 +++++++
 31 files changed, 1116 insertions(+)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ASN1DataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ASN1DataFormat.java
index cc4db1f2839..53ea6572811 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ASN1DataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ASN1DataFormat.java
@@ -124,6 +124,15 @@ public class ASN1DataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the asn1 file has more than one entry, the setting this option to true, allows working with the splitter
+         * EIP, to split the data using an iterator in a streaming mode.
+         */
+        public Builder usingIterator(boolean usingIterator) {
+            this.usingIterator = Boolean.toString(usingIterator);
+            return this;
+        }
+
         /**
          * Class to use when unmarshalling.
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
index 4ffe779bf1b..385c6611ddb 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
@@ -578,6 +578,11 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         /**
          * Lookup and use the existing ObjectMapper with the given id when using Jackson.
          */
@@ -594,6 +599,14 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to lookup and use default Jackson ObjectMapper from the registry.
+         */
+        public Builder useDefaultObjectMapper(boolean useDefaultObjectMapper) {
+            this.useDefaultObjectMapper = Boolean.toString(useDefaultObjectMapper);
+            return this;
+        }
+
         /**
          * Class name of the java type to use when unmarshalling
          */
@@ -648,6 +661,15 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to
+         * unmarshal to.
+         */
+        public Builder allowJmsType(boolean allowJmsType) {
+            this.allowJmsType = Boolean.toString(allowJmsType);
+            return this;
+        }
+
         /**
          * 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.
@@ -670,6 +692,14 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * To unmarshal to a List of Map or a List of Pojo.
+         */
+        public Builder useList(boolean useList) {
+            this.useList = Boolean.toString(useList);
+            return this;
+        }
+
         /**
          * 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.
@@ -728,6 +758,17 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the
+         * unmarshalling.
+         * <p/>
+         * This should only be enabled when desired to be used.
+         */
+        public Builder allowUnmarshallType(boolean allowUnmarshallType) {
+            this.allowUnmarshallType = Boolean.toString(allowUnmarshallType);
+            return this;
+        }
+
         /**
          * If set then Jackson will use the Timezone when marshalling/unmarshalling.
          */
@@ -744,6 +785,14 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If set to true then Jackson will lookup for an objectMapper into the registry
+         */
+        public Builder autoDiscoverObjectMapper(boolean autoDiscoverObjectMapper) {
+            this.autoDiscoverObjectMapper = Boolean.toString(autoDiscoverObjectMapper);
+            return this;
+        }
+
         /**
          * Optional schema resolver used to lookup schemas for the data in transit.
          */
@@ -760,6 +809,14 @@ public class AvroDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * When not disabled, the SchemaResolver will be looked up into the registry
+         */
+        public Builder autoDiscoverSchemaResolver(boolean autoDiscoverSchemaResolver) {
+            this.autoDiscoverSchemaResolver = Boolean.toString(autoDiscoverSchemaResolver);
+            return this;
+        }
+
         @Override
         public AvroDataFormat end() {
             return new AvroDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
index c6365593517..e83a8b41e9e 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
@@ -120,6 +120,14 @@ public class BarcodeDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Width of the barcode
+         */
+        public Builder width(int width) {
+            this.width = Integer.toString(width);
+            return this;
+        }
+
         /**
          * Height of the barcode
          */
@@ -128,6 +136,14 @@ public class BarcodeDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Height of the barcode
+         */
+        public Builder height(int height) {
+            this.height = Integer.toString(height);
+            return this;
+        }
+
         /**
          * Image type of the barcode such as png
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
index e34a2ecac92..f72157eaeb7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
@@ -113,6 +113,16 @@ public class Base64DataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * To specific a maximum line length for the encoded data.
+         * <p/>
+         * By default 76 is used.
+         */
+        public Builder lineLength(int lineLength) {
+            this.lineLength = Integer.toString(lineLength);
+            return this;
+        }
+
         /**
          * The line separators to use.
          * <p/>
@@ -132,6 +142,15 @@ public class Base64DataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode
+         * operations. Decoding seamlessly handles both modes. Is by default false.
+         */
+        public Builder urlSafe(boolean urlSafe) {
+            this.urlSafe = Boolean.toString(urlSafe);
+            return this;
+        }
+
         @Override
         public Base64DataFormat end() {
             return new Base64DataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
index 7c4f7d55dcc..6e953ad105d 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
@@ -280,6 +280,15 @@ public class BindyDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * When unmarshalling should a single instance be unwrapped and returned instead of wrapped in a
+         * <tt>java.util.List</tt>.
+         */
+        public Builder unwrapSingleInstance(boolean unwrapSingleInstance) {
+            this.unwrapSingleInstance = Boolean.toString(unwrapSingleInstance);
+            return this;
+        }
+
         /**
          * Whether to allow empty streams in the unmarshal process. If true, no exception will be thrown when a body
          * without records is provided.
@@ -289,6 +298,15 @@ public class BindyDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to allow empty streams in the unmarshal process. If true, no exception will be thrown when a body
+         * without records is provided.
+         */
+        public Builder allowEmptyStream(boolean allowEmptyStream) {
+            this.allowEmptyStream = Boolean.toString(allowEmptyStream);
+            return this;
+        }
+
         @Override
         public BindyDataFormat end() {
             return new BindyDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java
index 1525019da99..27e7a84f1a6 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CBORDataFormat.java
@@ -272,6 +272,14 @@ public class CBORDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to lookup and use default Jackson CBOR ObjectMapper from the registry.
+         */
+        public Builder useDefaultObjectMapper(boolean useDefaultObjectMapper) {
+            this.useDefaultObjectMapper = Boolean.toString(useDefaultObjectMapper);
+            return this;
+        }
+
         /**
          * Class name of the java type to use when unmarshalling
          */
@@ -290,6 +298,16 @@ public class CBORDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * To enable pretty printing output nicely formatted.
+         * <p/>
+         * Is by default false.
+         */
+        public Builder prettyPrint(boolean prettyPrint) {
+            this.prettyPrint = Boolean.toString(prettyPrint);
+            return this;
+        }
+
         /**
          * Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to
          * unmarshal to.
@@ -299,6 +317,15 @@ public class CBORDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to
+         * unmarshal to.
+         */
+        public Builder allowJmsType(boolean allowJmsType) {
+            this.allowJmsType = Boolean.toString(allowJmsType);
+            return this;
+        }
+
         /**
          * Class of the java type to use when unmarshalling
          */
@@ -329,6 +356,14 @@ public class CBORDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * To unmarshal to a List of Map or a List of Pojo.
+         */
+        public Builder useList(boolean useList) {
+            this.useList = Boolean.toString(useList);
+            return this;
+        }
+
         /**
          * If enabled then Jackson CBOR is allowed to attempt to use the CamelCBORUnmarshalType header during the
          * unmarshalling.
@@ -340,6 +375,17 @@ public class CBORDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If enabled then Jackson CBOR is allowed to attempt to use the CamelCBORUnmarshalType header during the
+         * unmarshalling.
+         * <p/>
+         * This should only be enabled when desired to be used.
+         */
+        public Builder allowUnmarshallType(boolean allowUnmarshallType) {
+            this.allowUnmarshallType = Boolean.toString(allowUnmarshallType);
+            return this;
+        }
+
         /**
          * Set of features to enable on the Jackson <tt>com.fasterxml.jackson.databind.ObjectMapper</tt>.
          * <p/>
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
index 0cfdf8149a5..ce51e6e4bb8 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CryptoDataFormat.java
@@ -246,6 +246,14 @@ public class CryptoDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * The size of the buffer used in the signature process.
+         */
+        public Builder bufferSize(int bufferSize) {
+            this.bufferSize = Integer.toString(bufferSize);
+            return this;
+        }
+
         /**
          * The JCE algorithm name indicating the Message Authentication algorithm.
          */
@@ -262,6 +270,14 @@ public class CryptoDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.
+         */
+        public Builder shouldAppendHMAC(boolean shouldAppendHMAC) {
+            this.shouldAppendHMAC = Boolean.toString(shouldAppendHMAC);
+            return this;
+        }
+
         /**
          * Flag indicating that the configured IV should be inlined into the encrypted data stream.
          * <p/>
@@ -272,6 +288,16 @@ public class CryptoDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Flag indicating that the configured IV should be inlined into the encrypted data stream.
+         * <p/>
+         * Is by default false.
+         */
+        public Builder inline(boolean inline) {
+            this.inline = Boolean.toString(inline);
+            return this;
+        }
+
         @Override
         public CryptoDataFormat end() {
             return new CryptoDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
index 86e3aa92073..fdf6d303944 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
@@ -575,6 +575,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Disables the comment marker of the reference format.
+         */
+        public Builder commentMarkerDisabled(boolean commentMarkerDisabled) {
+            this.commentMarkerDisabled = Boolean.toString(commentMarkerDisabled);
+            return this;
+        }
+
         /**
          * Sets the comment marker of the reference format.
          */
@@ -601,6 +609,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Use for disabling using escape character
+         */
+        public Builder escapeDisabled(boolean escapeDisabled) {
+            this.escapeDisabled = Boolean.toString(escapeDisabled);
+            return this;
+        }
+
         /**
          * Sets the escape character to use
          */
@@ -614,6 +630,11 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        public Builder headerDisabled(boolean headerDisabled) {
+            this.headerDisabled = Boolean.toString(headerDisabled);
+            return this;
+        }
+
         /**
          * To configure the CSV headers
          */
@@ -630,6 +651,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to allow missing column names.
+         */
+        public Builder allowMissingColumnNames(boolean allowMissingColumnNames) {
+            this.allowMissingColumnNames = Boolean.toString(allowMissingColumnNames);
+            return this;
+        }
+
         /**
          * Whether to ignore empty lines.
          */
@@ -638,6 +667,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to ignore empty lines.
+         */
+        public Builder ignoreEmptyLines(boolean ignoreEmptyLines) {
+            this.ignoreEmptyLines = Boolean.toString(ignoreEmptyLines);
+            return this;
+        }
+
         /**
          * Whether to ignore surrounding spaces
          */
@@ -646,6 +683,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to ignore surrounding spaces
+         */
+        public Builder ignoreSurroundingSpaces(boolean ignoreSurroundingSpaces) {
+            this.ignoreSurroundingSpaces = Boolean.toString(ignoreSurroundingSpaces);
+            return this;
+        }
+
         /**
          * Used to disable null strings
          */
@@ -654,6 +699,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Used to disable null strings
+         */
+        public Builder nullStringDisabled(boolean nullStringDisabled) {
+            this.nullStringDisabled = Boolean.toString(nullStringDisabled);
+            return this;
+        }
+
         /**
          * Sets the null string
          */
@@ -670,6 +723,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Used to disable quotes
+         */
+        public Builder quoteDisabled(boolean quoteDisabled) {
+            this.quoteDisabled = Boolean.toString(quoteDisabled);
+            return this;
+        }
+
         /**
          * Sets the quote which by default is "
          */
@@ -702,6 +763,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to skip the header record in the output
+         */
+        public Builder skipHeaderRecord(boolean skipHeaderRecord) {
+            this.skipHeaderRecord = Boolean.toString(skipHeaderRecord);
+            return this;
+        }
+
         /**
          * Sets the quote mode
          */
@@ -719,6 +788,15 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must
+         * be read at one.
+         */
+        public Builder lazyLoad(boolean lazyLoad) {
+            this.lazyLoad = Boolean.toString(lazyLoad);
+            return this;
+        }
+
         /**
          * Whether the unmarshalling should produce maps (HashMap)for the lines values instead of lists. It requires to
          * have header (either defined or collected).
@@ -728,6 +806,15 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether the unmarshalling should produce maps (HashMap)for the lines values instead of lists. It requires to
+         * have header (either defined or collected).
+         */
+        public Builder useMaps(boolean useMaps) {
+            this.useMaps = Boolean.toString(useMaps);
+            return this;
+        }
+
         /**
          * Whether the unmarshalling should produce ordered maps (LinkedHashMap) for the lines values instead of lists.
          * It requires to have header (either defined or collected).
@@ -737,6 +824,15 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether the unmarshalling should produce ordered maps (LinkedHashMap) for the lines values instead of lists.
+         * It requires to have header (either defined or collected).
+         */
+        public Builder useOrderedMaps(boolean useOrderedMaps) {
+            this.useOrderedMaps = Boolean.toString(useOrderedMaps);
+            return this;
+        }
+
         /**
          * Refers to a custom <tt>CsvRecordConverter</tt> to lookup from the registry to use.
          */
@@ -753,6 +849,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Sets whether or not to trim leading and trailing blanks.
+         */
+        public Builder trim(boolean trim) {
+            this.trim = Boolean.toString(trim);
+            return this;
+        }
+
         /**
          * Sets whether or not to ignore case when accessing header names.
          */
@@ -761,6 +865,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Sets whether or not to ignore case when accessing header names.
+         */
+        public Builder ignoreHeaderCase(boolean ignoreHeaderCase) {
+            this.ignoreHeaderCase = Boolean.toString(ignoreHeaderCase);
+            return this;
+        }
+
         /**
          * Sets whether or not to add a trailing delimiter.
          */
@@ -769,6 +881,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Sets whether or not to add a trailing delimiter.
+         */
+        public Builder trailingDelimiter(boolean trailingDelimiter) {
+            this.trailingDelimiter = Boolean.toString(trailingDelimiter);
+            return this;
+        }
+
         /**
          * Whether the unmarshalling should capture the header record and store it in the message header
          */
@@ -777,6 +897,14 @@ public class CsvDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether the unmarshalling should capture the header record and store it in the message header
+         */
+        public Builder captureHeaderRecord(boolean captureHeaderRecord) {
+            this.captureHeaderRecord = Boolean.toString(captureHeaderRecord);
+            return this;
+        }
+
         @Override
         public CsvDataFormat end() {
             return new CsvDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java
index 065078b9e39..58f46bcf704 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FhirDataformat.java
@@ -445,6 +445,17 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * Sets the "pretty print" flag, meaning that the parser will encode resources with human-readable spacing and
+         * newlines between elements instead of condensing output as much as possible.
+         *
+         * @param prettyPrint The flag
+         */
+        public T prettyPrint(boolean prettyPrint) {
+            this.prettyPrint = Boolean.toString(prettyPrint);
+            return (T) this;
+        }
+
         /**
          * Registers an error handler which will be invoked when any parse errors are found
          *
@@ -510,6 +521,19 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * If set to <code>true</code> (default is <code>false</code>) the ID of any resources being encoded will not be
+         * included in the output. Note that this does not apply to contained resources, only to root resources. In
+         * other words, if this is set to <code>true</code>, contained resources will still have local IDs but the
+         * outer/containing ID will not have an ID.
+         *
+         * @param omitResourceId Should resource IDs be omitted
+         */
+        public T omitResourceId(boolean omitResourceId) {
+            this.omitResourceId = Boolean.toString(omitResourceId);
+            return (T) this;
+        }
+
         /**
          * If set to <code>true</code> (default is false), the values supplied to {@link #setEncodeElements(Set)} will
          * not be applied to the root resource (typically a Bundle), but will be applied to any sub-resources contained
@@ -520,6 +544,16 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * If set to <code>true</code> (default is false), the values supplied to {@link #setEncodeElements(Set)} will
+         * not be applied to the root resource (typically a Bundle), but will be applied to any sub-resources contained
+         * within it (i.e. search result resources in that bundle)
+         */
+        public T encodeElementsAppliesToChildResourcesOnly(boolean encodeElementsAppliesToChildResourcesOnly) {
+            this.encodeElementsAppliesToChildResourcesOnly = Boolean.toString(encodeElementsAppliesToChildResourcesOnly);
+            return (T) this;
+        }
+
         /**
          * If provided, specifies the elements which should be encoded, to the exclusion of all others. Valid values for
          * this field would include:
@@ -586,6 +620,28 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * If set to <code>true<code> (which is the default), resource references containing a version
+         * will have the version removed when the resource is encoded. This is generally good behaviour because
+         * in most situations, references from one resource to another should be to the resource by ID, not
+         * by ID and version. In some cases though, it may be desirable to preserve the version in resource
+         * links. In that case, this value should be set to <code>false</code>.
+         * <p>
+         * This method provides the ability to globally disable reference encoding. If finer-grained control is needed,
+         * use {@link #setDontStripVersionsFromReferencesAtPaths(List)}
+         * </p>
+         *
+         * @param stripVersionsFromReferences Set this to
+         *                                    <code>false<code> to prevent the parser from removing resource versions
+         *                                    from references (or <code>null</code> to apply the default setting from
+         *                                    the {@link #setParserOptions(Object)}
+         * @see                               #setDontStripVersionsFromReferencesAtPaths(List)
+         */
+        public T stripVersionsFromReferences(boolean stripVersionsFromReferences) {
+            this.stripVersionsFromReferences = Boolean.toString(stripVersionsFromReferences);
+            return (T) this;
+        }
+
         /**
          * If set to <code>true</code> (which is the default), the Bundle.entry.fullUrl will override the
          * Bundle.entry.resource's resource id if the fullUrl is defined. This behavior happens when parsing the source
@@ -602,6 +658,22 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * If set to <code>true</code> (which is the default), the Bundle.entry.fullUrl will override the
+         * Bundle.entry.resource's resource id if the fullUrl is defined. This behavior happens when parsing the source
+         * data into a Bundle object. Set this to <code>false</code> if this is not the desired behavior (e.g. the
+         * client code wishes to perform additional validation checks between the fullUrl and the resource id).
+         *
+         * @param overrideResourceIdWithBundleEntryFullUrl Set this to <code>false</code> to prevent the parser from
+         *                                                 overriding resource ids with the Bundle.entry.fullUrl (or
+         *                                                 <code>null</code> to apply the default setting from the
+         *                                                 {@link #setParserOptions(Object)})
+         */
+        public T overrideResourceIdWithBundleEntryFullUrl(boolean overrideResourceIdWithBundleEntryFullUrl) {
+            this.overrideResourceIdWithBundleEntryFullUrl = Boolean.toString(overrideResourceIdWithBundleEntryFullUrl);
+            return (T) this;
+        }
+
         /**
          * If set to <code>true</code> (default is <code>false</code>) only elements marked by the FHIR specification as
          * being "summary elements" will be included.
@@ -611,6 +683,15 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * If set to <code>true</code> (default is <code>false</code>) only elements marked by the FHIR specification as
+         * being "summary elements" will be included.
+         */
+        public T summaryMode(boolean summaryMode) {
+            this.summaryMode = Boolean.toString(summaryMode);
+            return (T) this;
+        }
+
         /**
          * If set to <code>true</code> (default is <code>false</code>), narratives will not be included in the encoded
          * values.
@@ -620,6 +701,15 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             return (T) this;
         }
 
+        /**
+         * If set to <code>true</code> (default is <code>false</code>), narratives will not be included in the encoded
+         * values.
+         */
+        public T suppressNarratives(boolean suppressNarratives) {
+            this.suppressNarratives = Boolean.toString(suppressNarratives);
+            return (T) this;
+        }
+
         /**
          * If supplied value(s), any resource references at the specified paths will have their resource versions
          * encoded instead of being automatically stripped during the encoding process. This setting has no effect on
@@ -649,5 +739,10 @@ public abstract class FhirDataformat extends DataFormatDefinition implements Con
             this.contentTypeHeader = contentTypeHeader;
             return (T) this;
         }
+
+        public T contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return (T) this;
+        }
     }
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
index df28a29699c..1e3b59e25ca 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
@@ -199,6 +199,14 @@ public class FlatpackDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Delimited or fixed. Is by default false = delimited
+         */
+        public Builder fixed(boolean fixed) {
+            this.fixed = Boolean.toString(fixed);
+            return this;
+        }
+
         /**
          * Whether the first line is ignored for delimited files (for the column headers).
          * <p/>
@@ -209,6 +217,16 @@ public class FlatpackDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether the first line is ignored for delimited files (for the column headers).
+         * <p/>
+         * Is by default true.
+         */
+        public Builder ignoreFirstRecord(boolean ignoreFirstRecord) {
+            this.ignoreFirstRecord = Boolean.toString(ignoreFirstRecord);
+            return this;
+        }
+
         /**
          * If the text is qualified with a character.
          * <p/>
@@ -235,6 +253,14 @@ public class FlatpackDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Allows for lines to be shorter than expected and ignores the extra characters
+         */
+        public Builder allowShortLines(boolean allowShortLines) {
+            this.allowShortLines = Boolean.toString(allowShortLines);
+            return this;
+        }
+
         /**
          * Allows for lines to be longer than expected and ignores the extra characters.
          */
@@ -243,6 +269,14 @@ public class FlatpackDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Allows for lines to be longer than expected and ignores the extra characters.
+         */
+        public Builder ignoreExtraColumns(boolean ignoreExtraColumns) {
+            this.ignoreExtraColumns = Boolean.toString(ignoreExtraColumns);
+            return this;
+        }
+
         /**
          * References to a custom parser factory to lookup in the registry
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java
index ebd242d8d9e..3f5e041db08 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/GrokDataFormat.java
@@ -138,6 +138,15 @@ public class GrokDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Turns on flattened mode. In flattened mode the exception is thrown when there are multiple pattern matches
+         * with same key.
+         */
+        public Builder flattened(boolean flattened) {
+            this.flattened = Boolean.toString(flattened);
+            return this;
+        }
+
         /**
          * If false, every line of input is matched for pattern only once. Otherwise the line can be scanned multiple
          * times when non-terminal pattern is used.
@@ -147,6 +156,15 @@ public class GrokDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If false, every line of input is matched for pattern only once. Otherwise the line can be scanned multiple
+         * times when non-terminal pattern is used.
+         */
+        public Builder allowMultipleMatchesPerLine(boolean allowMultipleMatchesPerLine) {
+            this.allowMultipleMatchesPerLine = Boolean.toString(allowMultipleMatchesPerLine);
+            return this;
+        }
+
         /**
          * Whether to capture named expressions only or not (i.e. %{IP:ip} but not ${IP})
          */
@@ -155,6 +173,14 @@ public class GrokDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to capture named expressions only or not (i.e. %{IP:ip} but not ${IP})
+         */
+        public Builder namedOnly(boolean namedOnly) {
+            this.namedOnly = Boolean.toString(namedOnly);
+            return this;
+        }
+
         @Override
         public GrokDataFormat end() {
             return new GrokDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
index 7f63be878b0..0bacf9ecd16 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
@@ -95,6 +95,16 @@ public class HL7DataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to validate the HL7 message
+         * <p/>
+         * Is by default true.
+         */
+        public Builder validate(boolean validate) {
+            this.validate = Boolean.toString(validate);
+            return this;
+        }
+
         /**
          * To use a custom HL7 parser
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
index bee04c10459..26263ef5161 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
@@ -74,6 +74,14 @@ public class IcalDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Whether to validate.
+         */
+        public Builder validating(boolean validating) {
+            this.validating = Boolean.toString(validating);
+            return this;
+        }
+
         @Override
         public IcalDataFormat end() {
             return new IcalDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
index a9baa562819..9a3143fd99b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
@@ -387,6 +387,16 @@ public class JacksonXMLDataFormat extends DataFormatDefinition implements Conten
             return this;
         }
 
+        /**
+         * To enable pretty printing output nicely formatted.
+         * <p/>
+         * Is by default false.
+         */
+        public Builder prettyPrint(boolean prettyPrint) {
+            this.prettyPrint = Boolean.toString(prettyPrint);
+            return this;
+        }
+
         /**
          * Class name of the java type to use when unmarshalling
          */
@@ -441,6 +451,15 @@ public class JacksonXMLDataFormat extends DataFormatDefinition implements Conten
             return this;
         }
 
+        /**
+         * Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to
+         * unmarshal to.
+         */
+        public Builder allowJmsType(boolean allowJmsType) {
+            this.allowJmsType = Boolean.toString(allowJmsType);
+            return this;
+        }
+
         /**
          * 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.
@@ -463,6 +482,14 @@ public class JacksonXMLDataFormat extends DataFormatDefinition implements Conten
             return this;
         }
 
+        /**
+         * To unmarshal to a List of Map or a List of Pojo.
+         */
+        public Builder useList(boolean useList) {
+            this.useList = Boolean.toString(useList);
+            return this;
+        }
+
         /**
          * Whether to enable the JAXB annotations module when using jackson. When enabled then JAXB annotations can be
          * used by Jackson.
@@ -472,6 +499,15 @@ public class JacksonXMLDataFormat extends DataFormatDefinition implements Conten
             return this;
         }
 
+        /**
+         * Whether to enable the JAXB annotations module when using jackson. When enabled then JAXB annotations can be
+         * used by Jackson.
+         */
+        public Builder enableJaxbAnnotationModule(boolean enableJaxbAnnotationModule) {
+            this.enableJaxbAnnotationModule = Boolean.toString(enableJaxbAnnotationModule);
+            return this;
+        }
+
         /**
          * 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.
@@ -530,11 +566,27 @@ public class JacksonXMLDataFormat extends DataFormatDefinition implements Conten
             return this;
         }
 
+        /**
+         * If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the
+         * unmarshalling.
+         * <p/>
+         * This should only be enabled when desired to be used.
+         */
+        public Builder allowUnmarshallType(boolean allowUnmarshallType) {
+            this.allowUnmarshallType = Boolean.toString(allowUnmarshallType);
+            return this;
+        }
+
         public Builder contentTypeHeader(String contentTypeHeader) {
             this.contentTypeHeader = contentTypeHeader;
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         /**
          * If set then Jackson will use the Timezone when marshalling/unmarshalling.
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
index 6508d6b97e0..7c826cb8db3 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
@@ -389,6 +389,14 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * This can be set to true to mark that the contextPath is referring to a classname and not a package name.
+         */
+        public Builder contextPathIsClassName(boolean contextPathIsClassName) {
+            this.contextPathIsClassName = Boolean.toString(contextPathIsClassName);
+            return this;
+        }
+
         /**
          * To validate against an existing schema. Your can use the prefix classpath:, file:* or *http: to specify how
          * the resource should be resolved. You can separate multiple schema files by using the ',' character.
@@ -409,6 +417,17 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * Sets the schema severity level to use when validating against a schema. This level determines the minimum
+         * severity error that triggers JAXB to stop continue parsing. The default value of 0 (warning) means that any
+         * error (warning, error or fatal error) will trigger JAXB to stop. There are the following three levels:
+         * 0=warning, 1=error, 2=fatal error.
+         */
+        public Builder schemaSeverityLevel(int schemaSeverityLevel) {
+            this.schemaSeverityLevel = Integer.toString(schemaSeverityLevel);
+            return this;
+        }
+
         /**
          * To enable pretty printing output nicely formatted.
          * <p/>
@@ -419,6 +438,16 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * To enable pretty printing output nicely formatted.
+         * <p/>
+         * Is by default false.
+         */
+        public Builder prettyPrint(boolean prettyPrint) {
+            this.prettyPrint = Boolean.toString(prettyPrint);
+            return this;
+        }
+
         /**
          * Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies
          * to POJO classes that has not been annotated with JAXB and providing jaxb.index descriptor files.
@@ -428,6 +457,15 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies
+         * to POJO classes that has not been annotated with JAXB and providing jaxb.index descriptor files.
+         */
+        public Builder objectFactory(boolean objectFactory) {
+            this.objectFactory = Boolean.toString(objectFactory);
+            return this;
+        }
+
         /**
          * Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases.
          */
@@ -436,6 +474,14 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases.
+         */
+        public Builder ignoreJAXBElement(boolean ignoreJAXBElement) {
+            this.ignoreJAXBElement = Boolean.toString(ignoreJAXBElement);
+            return this;
+        }
+
         /**
          * Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be
          * set to false to relax that, such as when the data is already in XML format.
@@ -445,6 +491,15 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be
+         * set to false to relax that, such as when the data is already in XML format.
+         */
+        public Builder mustBeJAXBElement(boolean mustBeJAXBElement) {
+            this.mustBeJAXBElement = Boolean.toString(mustBeJAXBElement);
+            return this;
+        }
+
         /**
          * To turn on marshalling XML fragment trees. By default JAXB looks for @XmlRootElement annotation on given
          * class to operate on whole XML tree. This is useful but not always - sometimes generated code does not
@@ -457,6 +512,18 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * To turn on marshalling XML fragment trees. By default JAXB looks for @XmlRootElement annotation on given
+         * class to operate on whole XML tree. This is useful but not always - sometimes generated code does not
+         * have @XmlRootElement annotation, sometimes you need unmarshall only part of tree. In that case you can use
+         * partial unmarshalling. To enable this behaviours you need set property partClass. Camel will pass this class
+         * to JAXB's unmarshaler.
+         */
+        public Builder fragment(boolean fragment) {
+            this.fragment = Boolean.toString(fragment);
+            return this;
+        }
+
         /**
          * To ignore non xml characters and replace them with an empty space.
          */
@@ -465,6 +532,14 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * To ignore non xml characters and replace them with an empty space.
+         */
+        public Builder filterNonXmlChars(boolean filterNonXmlChars) {
+            this.filterNonXmlChars = Boolean.toString(filterNonXmlChars);
+            return this;
+        }
+
         /**
          * To overrule and use a specific encoding
          */
@@ -541,6 +616,11 @@ public class JaxbDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         @Override
         public JaxbDataFormat end() {
             return new JaxbDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
index e210c1da6c1..a8184d42a0c 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
@@ -674,6 +674,11 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         /**
          * Lookup and use the existing ObjectMapper with the given id when using Jackson.
          */
@@ -690,6 +695,14 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * Whether to lookup and use default Jackson ObjectMapper from the registry.
+         */
+        public Builder useDefaultObjectMapper(boolean useDefaultObjectMapper) {
+            this.useDefaultObjectMapper = Boolean.toString(useDefaultObjectMapper);
+            return this;
+        }
+
         /**
          * To enable pretty printing output nicely formatted.
          * <p/>
@@ -700,6 +713,16 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * To enable pretty printing output nicely formatted.
+         * <p/>
+         * Is by default false.
+         */
+        public Builder prettyPrint(boolean prettyPrint) {
+            this.prettyPrint = Boolean.toString(prettyPrint);
+            return this;
+        }
+
         /**
          * Class name of the java type to use when unmarshalling
          */
@@ -762,6 +785,15 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to
+         * unmarshal to.
+         */
+        public Builder allowJmsType(boolean allowJmsType) {
+            this.allowJmsType = Boolean.toString(allowJmsType);
+            return this;
+        }
+
         /**
          * Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but
          * allows using different collection types than java.util.Collection based as default.
@@ -784,6 +816,14 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * To unmarshal to a List of Map or a List of Pojo.
+         */
+        public Builder useList(boolean useList) {
+            this.useList = Boolean.toString(useList);
+            return this;
+        }
+
         /**
          * 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.
@@ -869,6 +909,17 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the
+         * unmarshalling.
+         * <p/>
+         * This should only be enabled when desired to be used.
+         */
+        public Builder allowUnmarshallType(boolean allowUnmarshallType) {
+            this.allowUnmarshallType = Boolean.toString(allowUnmarshallType);
+            return this;
+        }
+
         /**
          * 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.
@@ -886,6 +937,14 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * If set to true then Jackson will look for an objectMapper to use from the registry
+         */
+        public Builder autoDiscoverObjectMapper(boolean autoDiscoverObjectMapper) {
+            this.autoDiscoverObjectMapper = Boolean.toString(autoDiscoverObjectMapper);
+            return this;
+        }
+
         /**
          * 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
@@ -896,6 +955,16 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * 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.
+         */
+        public Builder dropRootNode(boolean dropRootNode) {
+            this.dropRootNode = Boolean.toString(dropRootNode);
+            return this;
+        }
+
         /**
          * Optional schema resolver used to lookup schemas for the data in transit.
          */
@@ -912,6 +981,14 @@ public class JsonDataFormat extends DataFormatDefinition implements ContentTypeH
             return this;
         }
 
+        /**
+         * When not disabled, the SchemaResolver will be looked up into the registry
+         */
+        public Builder autoDiscoverSchemaResolver(boolean autoDiscoverSchemaResolver) {
+            this.autoDiscoverSchemaResolver = Boolean.toString(autoDiscoverSchemaResolver);
+            return this;
+        }
+
         /**
          * 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
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/LZFDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/LZFDataFormat.java
index 8e950bf1391..e3af37c43b7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/LZFDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/LZFDataFormat.java
@@ -74,6 +74,14 @@ public class LZFDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Enable encoding (compress) using multiple processing cores.
+         */
+        public Builder usingParallelCompression(boolean usingParallelCompression) {
+            this.usingParallelCompression = Boolean.toString(usingParallelCompression);
+            return this;
+        }
+
         @Override
         public LZFDataFormat end() {
             return new LZFDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/MimeMultipartDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/MimeMultipartDataFormat.java
index 292e0cd579a..58998aa3981 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/MimeMultipartDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/MimeMultipartDataFormat.java
@@ -162,6 +162,17 @@ public class MimeMultipartDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Defines whether a message without attachment is also marshaled into a MIME Multipart (with only one body
+         * part).
+         * <p>
+         * Default is false.
+         */
+        public Builder multipartWithoutAttachment(boolean multipartWithoutAttachment) {
+            this.multipartWithoutAttachment = Boolean.toString(multipartWithoutAttachment);
+            return this;
+        }
+
         /**
          * Defines whether the MIME-Multipart headers are part of the message body (true) or are set as Camel headers
          * (false).
@@ -173,6 +184,17 @@ public class MimeMultipartDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Defines whether the MIME-Multipart headers are part of the message body (true) or are set as Camel headers
+         * (false).
+         * <p>
+         * Default is false.
+         */
+        public Builder headersInline(boolean headersInline) {
+            this.headersInline = Boolean.toString(headersInline);
+            return this;
+        }
+
         /**
          * A regex that defines which Camel headers are also included as MIME headers into the MIME multipart. This will
          * only work if headersInline is set to true.
@@ -194,6 +216,16 @@ public class MimeMultipartDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Defines whether the content of binary parts in the MIME multipart is binary (true) or Base-64 encoded (false)
+         * <p>
+         * Default is false.
+         */
+        public Builder binaryContent(boolean binaryContent) {
+            this.binaryContent = Boolean.toString(binaryContent);
+            return this;
+        }
+
         @Override
         public MimeMultipartDataFormat end() {
             return new MimeMultipartDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java
index 6600be9fa4d..07c03d1c906 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/PGPDataFormat.java
@@ -337,6 +337,15 @@ public class PGPDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Signature hash algorithm; possible values are defined in org.bouncycastle.bcpg.HashAlgorithmTags; for example
+         * 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant for signing.
+         */
+        public Builder hashAlgorithm(int hashAlgorithm) {
+            this.hashAlgorithm = Integer.toString(hashAlgorithm);
+            return this;
+        }
+
         /**
          * This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc.
          */
@@ -345,6 +354,14 @@ public class PGPDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc.
+         */
+        public Builder armored(boolean armored) {
+            this.armored = Boolean.toString(armored);
+            return this;
+        }
+
         /**
          * Adds an integrity check/sign into the encryption file.
          * <p/>
@@ -355,6 +372,16 @@ public class PGPDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Adds an integrity check/sign into the encryption file.
+         * <p/>
+         * The default value is true.
+         */
+        public Builder integrity(boolean integrity) {
+            this.integrity = Boolean.toString(integrity);
+            return this;
+        }
+
         /**
          * Filename of the keyring; must be accessible as a classpath resource (but you can specify a location in the
          * file system by using the "file:" prefix).
@@ -384,6 +411,16 @@ public class PGPDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Symmetric key encryption algorithm; possible values are defined in
+         * org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6
+         * (= DES), 7 (= AES_128). Only relevant for encrypting.
+         */
+        public Builder algorithm(int algorithm) {
+            this.algorithm = Integer.toString(algorithm);
+            return this;
+        }
+
         /**
          * Compression algorithm; possible values are defined in org.bouncycastle.bcpg.CompressionAlgorithmTags; for
          * example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting.
@@ -393,6 +430,15 @@ public class PGPDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Compression algorithm; possible values are defined in org.bouncycastle.bcpg.CompressionAlgorithmTags; for
+         * example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting.
+         */
+        public Builder compressionAlgorithm(int compressionAlgorithm) {
+            this.compressionAlgorithm = Integer.toString(compressionAlgorithm);
+            return this;
+        }
+
         /**
          * Password used when opening the private key (not used for encryption).
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
index 47b2107a23d..9ee7e7b9472 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ProtobufDataFormat.java
@@ -597,6 +597,11 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         public Builder defaultInstance(Object defaultInstance) {
             this.defaultInstance = defaultInstance;
             return this;
@@ -626,6 +631,14 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        /**
+         * Whether to lookup and use default Jackson ObjectMapper from the registry.
+         */
+        public Builder useDefaultObjectMapper(boolean useDefaultObjectMapper) {
+            this.useDefaultObjectMapper = Boolean.toString(useDefaultObjectMapper);
+            return this;
+        }
+
         /**
          * Class name of the java type to use when unmarshalling
          */
@@ -680,6 +693,15 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        /**
+         * Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to
+         * unmarshal to.
+         */
+        public Builder allowJmsType(boolean allowJmsType) {
+            this.allowJmsType = Boolean.toString(allowJmsType);
+            return this;
+        }
+
         /**
          * 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.
@@ -702,6 +724,14 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        /**
+         * To unmarshal to a List of Map or a List of Pojo.
+         */
+        public Builder useList(boolean useList) {
+            this.useList = Boolean.toString(useList);
+            return this;
+        }
+
         /**
          * 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.
@@ -760,6 +790,17 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        /**
+         * If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the
+         * unmarshalling.
+         * <p/>
+         * This should only be enabled when desired to be used.
+         */
+        public Builder allowUnmarshallType(boolean allowUnmarshallType) {
+            this.allowUnmarshallType = Boolean.toString(allowUnmarshallType);
+            return this;
+        }
+
         /**
          * If set then Jackson will use the Timezone when marshalling/unmarshalling.
          */
@@ -776,6 +817,14 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        /**
+         * If set to true then Jackson will lookup for an objectMapper into the registry
+         */
+        public Builder autoDiscoverObjectMapper(boolean autoDiscoverObjectMapper) {
+            this.autoDiscoverObjectMapper = Boolean.toString(autoDiscoverObjectMapper);
+            return this;
+        }
+
         /**
          * Optional schema resolver used to lookup schemas for the data in transit.
          */
@@ -792,6 +841,14 @@ public class ProtobufDataFormat extends DataFormatDefinition implements ContentT
             return this;
         }
 
+        /**
+         * When not disabled, the SchemaResolver will be looked up into the registry
+         */
+        public Builder autoDiscoverSchemaResolver(boolean autoDiscoverSchemaResolver) {
+            this.autoDiscoverSchemaResolver = Boolean.toString(autoDiscoverSchemaResolver);
+            return this;
+        }
+
         @Override
         public ProtobufDataFormat end() {
             return new ProtobufDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java
index 76279d5e21a..f9208c19f65 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TarFileDataFormat.java
@@ -129,6 +129,15 @@ public class TarFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the tar file has more than one entry, the setting this option to true, allows working with the splitter
+         * EIP, to split the data using an iterator in a streaming mode.
+         */
+        public Builder usingIterator(boolean usingIterator) {
+            this.usingIterator = Boolean.toString(usingIterator);
+            return this;
+        }
+
         /**
          * If the tar file has more than one entry, setting this option to true, allows to get the iterator even if the
          * directory is empty
@@ -138,6 +147,15 @@ public class TarFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the tar file has more than one entry, setting this option to true, allows to get the iterator even if the
+         * directory is empty
+         */
+        public Builder allowEmptyDirectory(boolean allowEmptyDirectory) {
+            this.allowEmptyDirectory = Boolean.toString(allowEmptyDirectory);
+            return this;
+        }
+
         /**
          * If the file name contains path elements, setting this option to true, allows the path to be maintained in the
          * tar file.
@@ -147,6 +165,15 @@ public class TarFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the file name contains path elements, setting this option to true, allows the path to be maintained in the
+         * tar file.
+         */
+        public Builder preservePathElements(boolean preservePathElements) {
+            this.preservePathElements = Boolean.toString(preservePathElements);
+            return this;
+        }
+
         /**
          * Set the maximum decompressed size of a tar file (in bytes). The default value if not specified corresponds to
          * 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable
@@ -159,6 +186,18 @@ public class TarFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Set the maximum decompressed size of a tar file (in bytes). The default value if not specified corresponds to
+         * 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable
+         * setting a maximum decompressed size.
+         *
+         * @param maxDecompressedSize the maximum decompressed size of a tar file (in bytes)
+         */
+        public Builder maxDecompressedSize(long maxDecompressedSize) {
+            this.maxDecompressedSize = Long.toString(maxDecompressedSize);
+            return this;
+        }
+
         @Override
         public TarFileDataFormat end() {
             return new TarFileDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java
index f65d14a4140..7707d111d9e 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ThriftDataFormat.java
@@ -145,6 +145,11 @@ public class ThriftDataFormat extends DataFormatDefinition implements ContentTyp
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         public Builder defaultInstance(Object defaultInstance) {
             this.defaultInstance = defaultInstance;
             return this;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java
index fdf2e21d3f6..459df6aa409 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/TidyMarkupDataFormat.java
@@ -142,6 +142,14 @@ public class TidyMarkupDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * When returning a String, do we omit the XML declaration in the top.
+         */
+        public Builder omitXmlDeclaration(boolean omitXmlDeclaration) {
+            this.omitXmlDeclaration = Boolean.toString(omitXmlDeclaration);
+            return this;
+        }
+
         @Override
         public TidyMarkupDataFormat end() {
             return new TidyMarkupDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java
index 5a9ce8df80b..bf58917b70c 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityAbstractDataFormat.java
@@ -325,6 +325,16 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * Whether or not the empty lines must be ignored.
+         * <p/>
+         * The default value is true
+         */
+        public T skipEmptyLines(boolean skipEmptyLines) {
+            this.skipEmptyLines = Boolean.toString(skipEmptyLines);
+            return (T) this;
+        }
+
         /**
          * Whether or not the trailing white spaces must be ignored.
          * <p/>
@@ -335,6 +345,16 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * Whether or not the trailing white spaces must be ignored.
+         * <p/>
+         * The default value is true
+         */
+        public T ignoreTrailingWhitespaces(boolean ignoreTrailingWhitespaces) {
+            this.ignoreTrailingWhitespaces = Boolean.toString(ignoreTrailingWhitespaces);
+            return (T) this;
+        }
+
         /**
          * Whether or not the leading white spaces must be ignored.
          * <p/>
@@ -345,6 +365,16 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * Whether or not the leading white spaces must be ignored.
+         * <p/>
+         * The default value is true
+         */
+        public T ignoreLeadingWhitespaces(boolean ignoreLeadingWhitespaces) {
+            this.ignoreLeadingWhitespaces = Boolean.toString(ignoreLeadingWhitespaces);
+            return (T) this;
+        }
+
         /**
          * Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which
          * indicates that there is no header.
@@ -356,6 +386,17 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which
+         * indicates that there is no header.
+         * <p/>
+         * The default value is false
+         */
+        public T headersDisabled(boolean headersDisabled) {
+            this.headersDisabled = Boolean.toString(headersDisabled);
+            return (T) this;
+        }
+
         /**
          * The headers to use.
          */
@@ -374,6 +415,16 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * Whether or not the header must be read in the first line of the test document
+         * <p/>
+         * The default value is false
+         */
+        public T headerExtractionEnabled(boolean headerExtractionEnabled) {
+            this.headerExtractionEnabled = Boolean.toString(headerExtractionEnabled);
+            return (T) this;
+        }
+
         /**
          * The maximum number of record to read.
          */
@@ -382,6 +433,14 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * The maximum number of record to read.
+         */
+        public T numberOfRecordsToRead(int numberOfRecordsToRead) {
+            this.numberOfRecordsToRead = Integer.toString(numberOfRecordsToRead);
+            return (T) this;
+        }
+
         /**
          * The String representation of an empty value
          */
@@ -431,6 +490,17 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             return (T) this;
         }
 
+        /**
+         * Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must
+         * be read at one.
+         * <p/>
+         * The default value is false
+         */
+        public T lazyLoad(boolean lazyLoad) {
+            this.lazyLoad = Boolean.toString(lazyLoad);
+            return (T) this;
+        }
+
         /**
          * Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have
          * header (either defined or collected).
@@ -441,5 +511,16 @@ public abstract class UniVocityAbstractDataFormat extends DataFormatDefinition {
             this.asMap = asMap;
             return (T) this;
         }
+
+        /**
+         * Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have
+         * header (either defined or collected).
+         * <p/>
+         * The default value is false
+         */
+        public T asMap(boolean asMap) {
+            this.asMap = Boolean.toString(asMap);
+            return (T) this;
+        }
     }
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java
index 14bc3d9f864..e52cea6e485 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityCsvDataFormat.java
@@ -120,6 +120,14 @@ public class UniVocityCsvDataFormat extends UniVocityAbstractDataFormat {
             return this;
         }
 
+        /**
+         * Whether or not all values must be quoted when writing them.
+         */
+        public Builder quoteAllFields(boolean quoteAllFields) {
+            this.quoteAllFields = Boolean.toString(quoteAllFields);
+            return this;
+        }
+
         /**
          * The quote symbol.
          */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityFixedDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityFixedDataFormat.java
index c2ccd5d5e72..d60a7c86199 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityFixedDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/UniVocityFixedDataFormat.java
@@ -111,6 +111,16 @@ public class UniVocityFixedDataFormat extends UniVocityAbstractDataFormat {
             return this;
         }
 
+        /**
+         * Whether or not the trailing characters until new line must be ignored.
+         * <p/>
+         * The default value is false
+         */
+        public Builder skipTrailingCharsUntilNewline(boolean skipTrailingCharsUntilNewline) {
+            this.skipTrailingCharsUntilNewline = Boolean.toString(skipTrailingCharsUntilNewline);
+            return this;
+        }
+
         /**
          * Whether or not the record ends on new line.
          * <p/>
@@ -121,6 +131,16 @@ public class UniVocityFixedDataFormat extends UniVocityAbstractDataFormat {
             return this;
         }
 
+        /**
+         * Whether or not the record ends on new line.
+         * <p/>
+         * The default value is false
+         */
+        public Builder recordEndsOnNewline(boolean recordEndsOnNewline) {
+            this.recordEndsOnNewline = Boolean.toString(recordEndsOnNewline);
+            return this;
+        }
+
         /**
          * The padding character.
          * <p/>
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java
index 7495e0b229b..067bde9d1e4 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java
@@ -378,6 +378,15 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names
             return this;
         }
 
+        /**
+         * A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element.
+         * false = Element Level. true = Element Content Level.
+         */
+        public Builder secureTagContents(boolean secureTagContents) {
+            this.secureTagContents = Boolean.toString(secureTagContents);
+            return this;
+        }
+
         /**
          * The cipher algorithm to be used for encryption/decryption of the asymmetric key. The available choices are:
          * <ul>
@@ -465,6 +474,15 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names
             return this;
         }
 
+        /**
+         * Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or
+         * not.
+         */
+        public Builder addKeyValueForEncryptedKey(boolean addKeyValueForEncryptedKey) {
+            this.addKeyValueForEncryptedKey = Boolean.toString(addKeyValueForEncryptedKey);
+            return this;
+        }
+
         /**
          * Injects the XML Namespaces of prefix -> uri mappings
          *
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java
index 9bc97483a3c..9a82de88875 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XStreamDataFormat.java
@@ -441,6 +441,11 @@ public class XStreamDataFormat extends DataFormatDefinition implements ContentTy
             return this;
         }
 
+        public Builder contentTypeHeader(boolean contentTypeHeader) {
+            this.contentTypeHeader = Boolean.toString(contentTypeHeader);
+            return this;
+        }
+
         @Override
         public XStreamDataFormat end() {
             return new XStreamDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java
index 8b5915cb9ca..03d0f29127b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/YAMLDataFormat.java
@@ -370,6 +370,14 @@ public class YAMLDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Use ApplicationContextClassLoader as custom ClassLoader
+         */
+        public Builder useApplicationContextClassLoader(boolean useApplicationContextClassLoader) {
+            this.useApplicationContextClassLoader = Boolean.toString(useApplicationContextClassLoader);
+            return this;
+        }
+
         /**
          * Force the emitter to produce a pretty YAML document when using the flow style.
          */
@@ -378,6 +386,14 @@ public class YAMLDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Force the emitter to produce a pretty YAML document when using the flow style.
+         */
+        public Builder prettyFlow(boolean prettyFlow) {
+            this.prettyFlow = Boolean.toString(prettyFlow);
+            return this;
+        }
+
         /**
          * Allow any class to be un-marshaled
          */
@@ -386,6 +402,14 @@ public class YAMLDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Allow any class to be un-marshaled
+         */
+        public Builder allowAnyType(boolean allowAnyType) {
+            this.allowAnyType = Boolean.toString(allowAnyType);
+            return this;
+        }
+
         /**
          * Set the types SnakeYAML is allowed to un-marshall
          */
@@ -402,6 +426,14 @@ public class YAMLDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Set the maximum amount of aliases allowed for collections.
+         */
+        public Builder maxAliasesForCollections(int maxAliasesForCollections) {
+            this.maxAliasesForCollections = Integer.toString(maxAliasesForCollections);
+            return this;
+        }
+
         /**
          * Set whether recursive keys are allowed.
          */
@@ -410,6 +442,14 @@ public class YAMLDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Set whether recursive keys are allowed.
+         */
+        public Builder allowRecursiveKeys(boolean allowRecursiveKeys) {
+            this.allowRecursiveKeys = Boolean.toString(allowRecursiveKeys);
+            return this;
+        }
+
         @Override
         public YAMLDataFormat end() {
             return new YAMLDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java
index 681ef750265..907313ea43c 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipDeflaterDataFormat.java
@@ -76,6 +76,15 @@ public class ZipDeflaterDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * To specify a specific compression between 0-9. -1 is default compression, 0 is no compression, and 9 is the
+         * best compression.
+         */
+        public Builder compressionLevel(int compressionLevel) {
+            this.compressionLevel = Integer.toString(compressionLevel);
+            return this;
+        }
+
         @Override
         public ZipDeflaterDataFormat end() {
             return new ZipDeflaterDataFormat(this);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java
index 74e72ea4d6a..363d54845a5 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/ZipFileDataFormat.java
@@ -130,6 +130,15 @@ public class ZipFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the zip file has more than one entry, the setting this option to true, allows working with the splitter
+         * EIP, to split the data using an iterator in a streaming mode.
+         */
+        public Builder usingIterator(boolean usingIterator) {
+            this.usingIterator = Boolean.toString(usingIterator);
+            return this;
+        }
+
         /**
          * If the zip file has more than one entry, setting this option to true, allows to get the iterator even if the
          * directory is empty
@@ -139,6 +148,15 @@ public class ZipFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the zip file has more than one entry, setting this option to true, allows to get the iterator even if the
+         * directory is empty
+         */
+        public Builder allowEmptyDirectory(boolean allowEmptyDirectory) {
+            this.allowEmptyDirectory = Boolean.toString(allowEmptyDirectory);
+            return this;
+        }
+
         /**
          * If the file name contains path elements, setting this option to true, allows the path to be maintained in the
          * zip file.
@@ -148,6 +166,15 @@ public class ZipFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * If the file name contains path elements, setting this option to true, allows the path to be maintained in the
+         * zip file.
+         */
+        public Builder preservePathElements(boolean preservePathElements) {
+            this.preservePathElements = Boolean.toString(preservePathElements);
+            return this;
+        }
+
         /**
          * Set the maximum decompressed size of a zip file (in bytes). The default value if not specified corresponds to
          * 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable
@@ -160,6 +187,18 @@ public class ZipFileDataFormat extends DataFormatDefinition {
             return this;
         }
 
+        /**
+         * Set the maximum decompressed size of a zip file (in bytes). The default value if not specified corresponds to
+         * 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable
+         * setting a maximum decompressed size.
+         *
+         * @param maxDecompressedSize the maximum decompressed size of a zip file (in bytes)
+         */
+        public Builder maxDecompressedSize(long maxDecompressedSize) {
+            this.maxDecompressedSize = Long.toString(maxDecompressedSize);
+            return this;
+        }
+
         @Override
         public ZipFileDataFormat end() {
             return new ZipFileDataFormat(this);