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:42 UTC
[camel] 01/02: CAMEL-17505: camel-core - Propose primitive types in builder methods
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);