You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/06/06 07:04:58 UTC
[camel] 05/05: Regen
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch endpoint-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 80cfb49d6566f22c74ea8d1eea49b0d8f29b8066
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Jun 6 09:04:27 2019 +0200
Regen
---
.../apache/camel/model/endpoint/AMQPEndpoint.java | 688 +++++++++++++---
.../apache/camel/model/endpoint/AS2Endpoint.java | 248 +++++-
.../camel/model/endpoint/ActiveMQEndpoint.java | 697 +++++++++++++---
.../apache/camel/model/endpoint/AhcEndpoint.java | 114 ++-
.../apache/camel/model/endpoint/ApnsEndpoint.java | 166 +++-
.../camel/model/endpoint/AsteriskEndpoint.java | 83 +-
.../apache/camel/model/endpoint/AtmosEndpoint.java | 113 ++-
.../apache/camel/model/endpoint/AtomEndpoint.java | 215 ++++-
.../camel/model/endpoint/AtomixMapEndpoint.java | 153 +++-
.../model/endpoint/AtomixMessagingEndpoint.java | 162 +++-
.../model/endpoint/AtomixMultiMapEndpoint.java | 155 +++-
.../camel/model/endpoint/AtomixQueueEndpoint.java | 140 +++-
.../camel/model/endpoint/AtomixSetEndpoint.java | 146 +++-
.../camel/model/endpoint/AtomixValueEndpoint.java | 147 +++-
.../apache/camel/model/endpoint/AvroEndpoint.java | 113 ++-
.../apache/camel/model/endpoint/BeanEndpoint.java | 50 +-
.../model/endpoint/BeanValidatorEndpoint.java | 68 +-
.../camel/model/endpoint/BeanstalkEndpoint.java | 214 ++++-
.../camel/model/endpoint/BlobServiceEndpoint.java | 162 +++-
.../camel/model/endpoint/BonitaEndpoint.java | 85 +-
.../apache/camel/model/endpoint/BoxEndpoint.java | 169 +++-
.../camel/model/endpoint/BraintreeEndpoint.java | 132 ++-
.../camel/model/endpoint/BrowseEndpoint.java | 50 +-
.../apache/camel/model/endpoint/CMEndpoint.java | 57 +-
.../apache/camel/model/endpoint/CMISEndpoint.java | 113 ++-
.../model/endpoint/CaffeineCacheEndpoint.java | 164 +++-
.../model/endpoint/CaffeineLoadCacheEndpoint.java | 160 +++-
.../camel/model/endpoint/CassandraEndpoint.java | 256 +++++-
.../camel/model/endpoint/ChatScriptEndpoint.java | 61 +-
.../apache/camel/model/endpoint/ChunkEndpoint.java | 71 +-
.../camel/model/endpoint/CinderEndpoint.java | 85 +-
.../apache/camel/model/endpoint/ClassEndpoint.java | 50 +-
.../camel/model/endpoint/ClientEndpoint.java | 157 +++-
.../apache/camel/model/endpoint/CoAPEndpoint.java | 113 ++-
.../camel/model/endpoint/CometdEndpoint.java | 150 +++-
.../camel/model/endpoint/ConsulEndpoint.java | 50 +-
.../camel/model/endpoint/ControlBusEndpoint.java | 75 +-
.../apache/camel/model/endpoint/CordaEndpoint.java | 50 +-
.../camel/model/endpoint/CouchDbEndpoint.java | 132 ++-
.../camel/model/endpoint/CouchbaseEndpoint.java | 378 +++++++--
.../camel/model/endpoint/CryptoCmsEndpoint.java | 141 +++-
.../apache/camel/model/endpoint/CwEndpoint.java | 99 ++-
.../apache/camel/model/endpoint/CxfEndpoint.java | 268 +++++-
.../apache/camel/model/endpoint/CxfRsEndpoint.java | 241 +++++-
.../camel/model/endpoint/DataFormatEndpoint.java | 40 +-
.../camel/model/endpoint/DataSetEndpoint.java | 138 +++-
.../camel/model/endpoint/DataSetTestEndpoint.java | 125 ++-
.../apache/camel/model/endpoint/DdbEndpoint.java | 113 ++-
.../camel/model/endpoint/DdbStreamEndpoint.java | 230 +++++-
.../camel/model/endpoint/DigitalOceanEndpoint.java | 96 ++-
.../model/endpoint/DigitalSignatureEndpoint.java | 162 +++-
.../camel/model/endpoint/DirectEndpoint.java | 71 +-
.../camel/model/endpoint/DirectVmEndpoint.java | 91 ++-
.../camel/model/endpoint/DisruptorEndpoint.java | 112 ++-
.../camel/model/endpoint/DisruptorVmEndpoint.java | 115 ++-
.../apache/camel/model/endpoint/DnsEndpoint.java | 29 +-
.../camel/model/endpoint/DockerEndpoint.java | 162 +++-
.../apache/camel/model/endpoint/DozerEndpoint.java | 71 +-
.../apache/camel/model/endpoint/DrillEndpoint.java | 57 +-
.../camel/model/endpoint/DropboxEndpoint.java | 111 ++-
.../apache/camel/model/endpoint/EC2Endpoint.java | 78 +-
.../apache/camel/model/endpoint/ECSEndpoint.java | 78 +-
.../apache/camel/model/endpoint/EKSEndpoint.java | 78 +-
.../camel/model/endpoint/EhcacheEndpoint.java | 146 +++-
.../apache/camel/model/endpoint/EjbEndpoint.java | 50 +-
.../model/endpoint/ElasticsearchEndpoint.java | 117 ++-
.../apache/camel/model/endpoint/ElsqlEndpoint.java | 365 +++++++--
.../model/endpoint/EndpointConfiguration.java | 2 +-
.../apache/camel/model/endpoint/EtcdEndpoint.java | 237 +++++-
.../camel/model/endpoint/EventAdminEndpoint.java | 63 +-
.../apache/camel/model/endpoint/EventEndpoint.java | 50 +-
.../apache/camel/model/endpoint/ExecEndpoint.java | 78 +-
.../camel/model/endpoint/FacebookEndpoint.java | 742 ++++++++++++++---
.../apache/camel/model/endpoint/FhirEndpoint.java | 211 ++++-
.../apache/camel/model/endpoint/FileEndpoint.java | 659 ++++++++++++---
.../camel/model/endpoint/FlatpackEndpoint.java | 214 ++++-
.../apache/camel/model/endpoint/FlinkEndpoint.java | 64 +-
.../apache/camel/model/endpoint/FopEndpoint.java | 43 +-
.../camel/model/endpoint/FreemarkerEndpoint.java | 61 +-
.../apache/camel/model/endpoint/FtpEndpoint.java | 810 +++++++++++++++---
.../apache/camel/model/endpoint/FtpsEndpoint.java | 904 ++++++++++++++++++---
.../camel/model/endpoint/GangliaEndpoint.java | 124 ++-
.../camel/model/endpoint/GeoCoderEndpoint.java | 124 ++-
.../apache/camel/model/endpoint/GitEndpoint.java | 113 ++-
.../camel/model/endpoint/GitHubEndpoint.java | 113 ++-
.../camel/model/endpoint/GlanceEndpoint.java | 78 +-
.../model/endpoint/GoogleBigQueryEndpoint.java | 61 +-
.../model/endpoint/GoogleBigQuerySQLEndpoint.java | 43 +-
.../model/endpoint/GoogleCalendarEndpoint.java | 134 ++-
.../endpoint/GoogleCalendarStreamEndpoint.java | 245 +++++-
.../camel/model/endpoint/GoogleDriveEndpoint.java | 119 ++-
.../camel/model/endpoint/GoogleMailEndpoint.java | 105 ++-
.../model/endpoint/GoogleMailStreamEndpoint.java | 229 +++++-
.../camel/model/endpoint/GooglePubsubEndpoint.java | 99 ++-
.../camel/model/endpoint/GoogleSheetsEndpoint.java | 106 ++-
.../model/endpoint/GoogleSheetsStreamEndpoint.java | 251 +++++-
.../apache/camel/model/endpoint/GoraEndpoint.java | 169 +++-
.../apache/camel/model/endpoint/GrapeEndpoint.java | 29 +-
.../camel/model/endpoint/GridFsEndpoint.java | 142 +++-
.../apache/camel/model/endpoint/GrpcEndpoint.java | 214 ++++-
.../model/endpoint/GuavaEventBusEndpoint.java | 71 +-
.../apache/camel/model/endpoint/HBaseEndpoint.java | 134 ++-
.../endpoint/HazelcastAtomicnumberEndpoint.java | 92 ++-
.../model/endpoint/HazelcastInstanceEndpoint.java | 138 +++-
.../model/endpoint/HazelcastListEndpoint.java | 142 +++-
.../camel/model/endpoint/HazelcastMapEndpoint.java | 142 +++-
.../model/endpoint/HazelcastMultimapEndpoint.java | 138 +++-
.../model/endpoint/HazelcastQueueEndpoint.java | 142 +++-
.../endpoint/HazelcastReplicatedmapEndpoint.java | 138 +++-
.../endpoint/HazelcastRingbufferEndpoint.java | 92 ++-
.../model/endpoint/HazelcastSedaEndpoint.java | 142 +++-
.../camel/model/endpoint/HazelcastSetEndpoint.java | 142 +++-
.../model/endpoint/HazelcastTopicEndpoint.java | 142 +++-
.../apache/camel/model/endpoint/HdfsEndpoint.java | 306 ++++++-
.../camel/model/endpoint/HipchatEndpoint.java | 200 ++++-
.../apache/camel/model/endpoint/HttpEndpoint.java | 369 +++++++--
.../apache/camel/model/endpoint/IAMEndpoint.java | 78 +-
.../apache/camel/model/endpoint/IOTAEndpoint.java | 92 ++-
.../apache/camel/model/endpoint/IPFSEndpoint.java | 36 +-
.../camel/model/endpoint/IgniteCacheEndpoint.java | 145 +++-
.../model/endpoint/IgniteComputeEndpoint.java | 86 +-
.../camel/model/endpoint/IgniteEventsEndpoint.java | 88 +-
.../camel/model/endpoint/IgniteIdGenEndpoint.java | 70 +-
.../model/endpoint/IgniteMessagingEndpoint.java | 95 ++-
.../camel/model/endpoint/IgniteQueueEndpoint.java | 77 +-
.../camel/model/endpoint/IgniteSetEndpoint.java | 63 +-
.../camel/model/endpoint/InfinispanEndpoint.java | 163 +++-
.../camel/model/endpoint/InfluxDbEndpoint.java | 68 +-
.../apache/camel/model/endpoint/IrcEndpoint.java | 205 ++++-
.../camel/model/endpoint/IronMQEndpoint.java | 236 +++++-
.../apache/camel/model/endpoint/JBPMEndpoint.java | 239 +++++-
.../camel/model/endpoint/JCacheEndpoint.java | 177 +++-
.../camel/model/endpoint/JGroupsEndpoint.java | 69 +-
.../camel/model/endpoint/JGroupsRaftEndpoint.java | 64 +-
.../apache/camel/model/endpoint/JMXEndpoint.java | 233 +++++-
.../model/endpoint/JSR356WebSocketEndpoint.java | 71 +-
.../camel/model/endpoint/JcloudsEndpoint.java | 139 +++-
.../apache/camel/model/endpoint/JcrEndpoint.java | 128 ++-
.../apache/camel/model/endpoint/JdbcEndpoint.java | 114 ++-
.../camel/model/endpoint/JettyHttpEndpoint9.java | 417 ++++++++--
.../apache/camel/model/endpoint/JingEndpoint.java | 36 +-
.../apache/camel/model/endpoint/JiraEndpoint.java | 120 ++-
.../apache/camel/model/endpoint/JmsEndpoint.java | 688 +++++++++++++---
.../apache/camel/model/endpoint/JoltEndpoint.java | 57 +-
.../apache/camel/model/endpoint/JooqEndpoint.java | 180 +++-
.../apache/camel/model/endpoint/JpaEndpoint.java | 321 ++++++--
.../model/endpoint/JsonValidatorEndpoint.java | 75 +-
.../apache/camel/model/endpoint/Jt400Endpoint.java | 264 +++++-
.../apache/camel/model/endpoint/KMSEndpoint.java | 78 +-
.../apache/camel/model/endpoint/KafkaEndpoint.java | 695 +++++++++++++---
.../camel/model/endpoint/KeystoneEndpoint.java | 82 +-
.../camel/model/endpoint/KinesisEndpoint.java | 243 +++++-
.../model/endpoint/KinesisFirehoseEndpoint.java | 75 +-
.../endpoint/KubernetesConfigMapsEndpoint.java | 162 +++-
.../endpoint/KubernetesDeploymentsEndpoint.java | 221 ++++-
.../model/endpoint/KubernetesHPAEndpoint.java | 225 ++++-
.../model/endpoint/KubernetesJobEndpoint.java | 225 ++++-
.../endpoint/KubernetesNamespacesEndpoint.java | 221 ++++-
.../model/endpoint/KubernetesNodesEndpoint.java | 225 ++++-
.../KubernetesPersistentVolumesClaimsEndpoint.java | 163 +++-
.../KubernetesPersistentVolumesEndpoint.java | 162 +++-
.../model/endpoint/KubernetesPodsEndpoint.java | 225 ++++-
.../KubernetesReplicationControllersEndpoint.java | 225 ++++-
.../endpoint/KubernetesResourcesQuotaEndpoint.java | 162 +++-
.../model/endpoint/KubernetesSecretsEndpoint.java | 162 +++-
.../KubernetesServiceAccountsEndpoint.java | 162 +++-
.../model/endpoint/KubernetesServicesEndpoint.java | 221 ++++-
.../camel/model/endpoint/LambdaEndpoint.java | 78 +-
.../camel/model/endpoint/LanguageEndpoint.java | 75 +-
.../apache/camel/model/endpoint/LdapEndpoint.java | 57 +-
.../apache/camel/model/endpoint/LdifEndpoint.java | 29 +-
.../camel/model/endpoint/LinkedInEndpoint.java | 146 +++-
.../apache/camel/model/endpoint/LogEndpoint.java | 204 ++++-
.../camel/model/endpoint/LuceneEndpoint.java | 64 +-
.../camel/model/endpoint/LumberjackEndpoint.java | 70 +-
.../apache/camel/model/endpoint/MQEndpoint.java | 78 +-
.../apache/camel/model/endpoint/MQTTEndpoint.java | 296 ++++++-
.../apache/camel/model/endpoint/MSKEndpoint.java | 78 +-
.../apache/camel/model/endpoint/MailEndpoint.java | 471 +++++++++--
.../camel/model/endpoint/MasterEndpoint.java | 57 +-
.../camel/model/endpoint/MetricsEndpoint.java | 82 +-
.../camel/model/endpoint/MicrometerEndpoint.java | 75 +-
.../camel/model/endpoint/MiloClientEndpoint.java | 217 ++++-
.../camel/model/endpoint/MiloServerEndpoint.java | 56 +-
.../apache/camel/model/endpoint/Mina2Endpoint.java | 225 ++++-
.../apache/camel/model/endpoint/MllpEndpoint.java | 220 ++++-
.../apache/camel/model/endpoint/MockEndpoint.java | 92 ++-
.../camel/model/endpoint/MongoDbEndpoint.java | 160 +++-
.../apache/camel/model/endpoint/MsvEndpoint.java | 92 ++-
.../camel/model/endpoint/MustacheEndpoint.java | 61 +-
.../apache/camel/model/endpoint/MvelEndpoint.java | 43 +-
.../camel/model/endpoint/MyBatisBeanEndpoint.java | 61 +-
.../camel/model/endpoint/MyBatisEndpoint.java | 235 +++++-
.../camel/model/endpoint/NagiosEndpoint.java | 79 +-
.../apache/camel/model/endpoint/NatsEndpoint.java | 197 ++++-
.../camel/model/endpoint/NetWeaverEndpoint.java | 68 +-
.../apache/camel/model/endpoint/NettyEndpoint.java | 549 +++++++++++--
.../camel/model/endpoint/NettyHttpEndpoint.java | 616 ++++++++++++--
.../camel/model/endpoint/NeutronEndpoint.java | 89 +-
.../apache/camel/model/endpoint/NovaEndpoint.java | 85 +-
.../apache/camel/model/endpoint/NsqEndpoint.java | 134 ++-
.../camel/model/endpoint/Olingo2Endpoint.java | 139 +++-
.../camel/model/endpoint/Olingo4Endpoint.java | 139 +++-
.../endpoint/OpenshiftBuildConfigsEndpoint.java | 162 +++-
.../model/endpoint/OpenshiftBuildsEndpoint.java | 166 +++-
.../camel/model/endpoint/OptaPlannerEndpoint.java | 77 +-
.../apache/camel/model/endpoint/PahoEndpoint.java | 127 ++-
.../camel/model/endpoint/PaxLoggingEndpoint.java | 56 +-
.../apache/camel/model/endpoint/PdfEndpoint.java | 86 +-
.../camel/model/endpoint/PgEventEndpoint.java | 97 ++-
.../camel/model/endpoint/PrinterEndpoint.java | 117 ++-
.../camel/model/endpoint/PropertiesEndpoint.java | 70 +-
.../camel/model/endpoint/PubNubEndpoint.java | 120 ++-
.../camel/model/endpoint/PulsarEndpoint.java | 99 ++-
.../camel/model/endpoint/QuartzEndpoint.java | 162 +++-
.../camel/model/endpoint/QueueServiceEndpoint.java | 100 ++-
.../camel/model/endpoint/QuickfixjEndpoint.java | 69 +-
.../camel/model/endpoint/RabbitMQEndpoint.java | 430 ++++++++--
.../model/endpoint/ReactiveStreamsEndpoint.java | 104 ++-
.../apache/camel/model/endpoint/RedisEndpoint.java | 99 ++-
.../apache/camel/model/endpoint/RefEndpoint.java | 50 +-
.../camel/model/endpoint/RestApiEndpoint.java | 76 +-
.../apache/camel/model/endpoint/RestEndpoint.java | 141 +++-
.../camel/model/endpoint/RestSwaggerEndpoint.java | 75 +-
.../camel/model/endpoint/RestletEndpoint.java | 168 +++-
.../apache/camel/model/endpoint/RssEndpoint.java | 214 ++++-
.../apache/camel/model/endpoint/S3Endpoint.java | 390 +++++++--
.../apache/camel/model/endpoint/SWFEndpoint.java | 240 +++++-
.../apache/camel/model/endpoint/SagaEndpoint.java | 29 +-
.../camel/model/endpoint/SalesforceEndpoint.java | 343 ++++++--
.../camel/model/endpoint/SchedulerEndpoint.java | 172 +++-
.../camel/model/endpoint/SchematronEndpoint.java | 54 +-
.../apache/camel/model/endpoint/ScpEndpoint.java | 192 ++++-
.../apache/camel/model/endpoint/SdbEndpoint.java | 92 ++-
.../apache/camel/model/endpoint/SedaEndpoint.java | 143 +++-
.../camel/model/endpoint/ServerEndpoint.java | 164 +++-
.../camel/model/endpoint/ServiceEndpoint.java | 55 +-
.../camel/model/endpoint/ServiceNowEndpoint.java | 335 ++++++--
.../camel/model/endpoint/ServletEndpoint.java | 184 ++++-
.../apache/camel/model/endpoint/SesEndpoint.java | 99 ++-
.../apache/camel/model/endpoint/SftpEndpoint.java | 870 +++++++++++++++++---
.../apache/camel/model/endpoint/SipEndpoint.java | 330 ++++++--
.../apache/camel/model/endpoint/Sjms2Endpoint.java | 292 ++++++-
.../camel/model/endpoint/SjmsBatchEndpoint.java | 189 ++++-
.../apache/camel/model/endpoint/SjmsEndpoint.java | 270 +++++-
.../apache/camel/model/endpoint/SlackEndpoint.java | 208 ++++-
.../apache/camel/model/endpoint/SmppEndpoint.java | 295 ++++++-
.../apache/camel/model/endpoint/SnmpEndpoint.java | 278 ++++++-
.../apache/camel/model/endpoint/SnsEndpoint.java | 141 +++-
.../apache/camel/model/endpoint/SolrEndpoint.java | 114 ++-
.../camel/model/endpoint/SoroushBotEndpoint.java | 171 +++-
.../apache/camel/model/endpoint/SparkEndpoint.java | 106 ++-
.../camel/model/endpoint/SplunkEndpoint.java | 320 ++++++--
.../camel/model/endpoint/SpringBatchEndpoint.java | 54 +-
.../model/endpoint/SpringIntegrationEndpoint.java | 74 +-
.../camel/model/endpoint/SpringLdapEndpoint.java | 47 +-
.../model/endpoint/SpringWebserviceEndpoint.java | 200 ++++-
.../apache/camel/model/endpoint/SqlEndpoint.java | 342 ++++++--
.../camel/model/endpoint/SqlStoredEndpoint.java | 75 +-
.../apache/camel/model/endpoint/SqsEndpoint.java | 402 +++++++--
.../apache/camel/model/endpoint/SshEndpoint.java | 249 +++++-
.../apache/camel/model/endpoint/StAXEndpoint.java | 29 +-
.../apache/camel/model/endpoint/StompEndpoint.java | 92 ++-
.../camel/model/endpoint/StreamEndpoint.java | 176 +++-
.../model/endpoint/StringTemplateEndpoint.java | 54 +-
.../apache/camel/model/endpoint/StubEndpoint.java | 143 +++-
.../apache/camel/model/endpoint/SwiftEndpoint.java | 85 +-
.../camel/model/endpoint/TelegramEndpoint.java | 207 ++++-
.../camel/model/endpoint/ThriftEndpoint.java | 120 ++-
.../apache/camel/model/endpoint/TikaEndpoint.java | 58 +-
.../apache/camel/model/endpoint/TimerEndpoint.java | 106 ++-
.../camel/model/endpoint/TwilioEndpoint.java | 64 +-
.../endpoint/TwitterDirectMessageEndpoint.java | 329 ++++++--
.../model/endpoint/TwitterSearchEndpoint.java | 331 ++++++--
.../model/endpoint/TwitterStreamingEndpoint.java | 334 ++++++--
.../model/endpoint/TwitterTimelineEndpoint.java | 338 ++++++--
.../camel/model/endpoint/UndertowEndpoint.java | 176 +++-
.../camel/model/endpoint/ValidatorEndpoint.java | 96 ++-
.../camel/model/endpoint/VelocityEndpoint.java | 61 +-
.../apache/camel/model/endpoint/VertxEndpoint.java | 57 +-
.../apache/camel/model/endpoint/VmEndpoint.java | 143 +++-
.../camel/model/endpoint/WeatherEndpoint.java | 347 ++++++--
.../apache/camel/model/endpoint/Web3jEndpoint.java | 288 ++++++-
.../camel/model/endpoint/WebhookEndpoint.java | 90 +-
.../camel/model/endpoint/WebsocketEndpoint.java | 167 +++-
.../camel/model/endpoint/WordpressEndpoint.java | 118 ++-
.../apache/camel/model/endpoint/WsEndpoint.java | 128 ++-
.../camel/model/endpoint/XChangeEndpoint.java | 61 +-
.../camel/model/endpoint/XQueryEndpoint.java | 244 +++++-
.../camel/model/endpoint/XmlSignatureEndpoint.java | 280 ++++++-
.../apache/camel/model/endpoint/XmppEndpoint.java | 162 +++-
.../apache/camel/model/endpoint/XsltEndpoint.java | 134 ++-
.../camel/model/endpoint/YammerEndpoint.java | 222 ++++-
.../camel/model/endpoint/ZendeskEndpoint.java | 97 ++-
.../camel/model/endpoint/ZooKeeperEndpoint.java | 120 ++-
295 files changed, 41642 insertions(+), 7386 deletions(-)
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java
index 91a711c..e117a12 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java
@@ -31,17 +31,73 @@ import org.apache.camel.spi.HeaderFilterStrategy;
public class AMQPEndpoint {
- public static class AMQPCommon extends EndpointConfiguration {
+ public static class AMQPCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String destinationType;
+ private String destinationName;
+ private String clientId;
+ private Object connectionFactory;
+ private Boolean disableReplyTo;
+ private String durableSubscriptionName;
+ private JmsMessageType jmsMessageType;
+ private Boolean testConnectionOnStartup;
+ private Boolean allowSerializedHeaders;
+ private Boolean asyncStartListener;
+ private Boolean asyncStopListener;
+ private Boolean basicPropertyBinding;
+ private Object destinationResolver;
+ private Object errorHandler;
+ private Object exceptionListener;
+ private HeaderFilterStrategy headerFilterStrategy;
+ private Integer idleConsumerLimit;
+ private Integer idleTaskExecutionLimit;
+ private Boolean includeAllJMSXProperties;
+ private Object jmsKeyFormatStrategy;
+ private Boolean mapJmsMessage;
+ private Integer maxMessagesPerTask;
+ private Object messageConverter;
+ private Object messageCreatedStrategy;
+ private Boolean messageIdEnabled;
+ private Object messageListenerContainerFactory;
+ private Boolean messageTimestampEnabled;
+ private Boolean pubSubNoLocal;
+ private Long receiveTimeout;
+ private Long recoveryInterval;
+ private Long requestTimeoutCheckerInterval;
+ private Boolean synchronous;
+ private Boolean transferException;
+ private Boolean transferExchange;
+ private Boolean transferFault;
+ private Boolean useMessageIDAsCorrelationID;
+ private Integer waitForProvisionCorrelationToBeUpdatedCounter;
+ private Long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+ private String password;
+ private String username;
+ private Boolean transacted;
+ private Boolean lazyCreateTransactionManager;
+ private Object transactionManager;
+ private String transactionName;
+ private Integer transactionTimeout;
+
/**
* The kind of destination to use. The option is a java.lang.String
* type.
*/
- private String destinationType;
+ public T destinationType(String destinationType) {
+ this.destinationType = destinationType;
+ return (T) this;
+ }
+
/**
* Name of the queue or topic to use as destination. The option is a
* java.lang.String type.
*/
- private String destinationName;
+ public T destinationName(String destinationName) {
+ this.destinationName = destinationName;
+ return (T) this;
+ }
+
/**
* Sets the JMS client ID to use. Note that this value, if specified,
* must be unique and can only be used by a single JMS connection
@@ -49,7 +105,11 @@ public class AMQPEndpoint {
* subscriptions. If using Apache ActiveMQ you may prefer to use Virtual
* Topics instead. The option is a java.lang.String type.
*/
- private String clientId;
+ public T clientId(String clientId) {
+ this.clientId = clientId;
+ return (T) this;
+ }
+
/**
* Sets the default connection factory to be used if a connection
* factory is not specified for either
@@ -57,7 +117,11 @@ public class AMQPEndpoint {
* setListenerConnectionFactory(ConnectionFactory). The option is a
* javax.jms.ConnectionFactory type.
*/
- private Object connectionFactory;
+ public T connectionFactory(Object connectionFactory) {
+ this.connectionFactory = connectionFactory;
+ return (T) this;
+ }
+
/**
* Specifies whether Camel ignores the JMSReplyTo header in messages. If
* true, Camel does not send a reply back to the destination specified
@@ -69,13 +133,21 @@ public class AMQPEndpoint {
* want to route message from one system to another. The option is a
* boolean type.
*/
- private Boolean disableReplyTo;
+ public T disableReplyTo(boolean disableReplyTo) {
+ this.disableReplyTo = disableReplyTo;
+ return (T) this;
+ }
+
/**
* The durable subscriber name for specifying durable topic
* subscriptions. The clientId option must be configured as well. The
* option is a java.lang.String type.
*/
- private String durableSubscriptionName;
+ public T durableSubscriptionName(String durableSubscriptionName) {
+ this.durableSubscriptionName = durableSubscriptionName;
+ return (T) this;
+ }
+
/**
* Allows you to force the use of a specific javax.jms.Message
* implementation for sending JMS messages. Possible values are: Bytes,
@@ -84,7 +156,11 @@ public class AMQPEndpoint {
* to specify it. The option is a
* org.apache.camel.component.jms.JmsMessageType type.
*/
- private JmsMessageType jmsMessageType;
+ public T jmsMessageType(JmsMessageType jmsMessageType) {
+ this.jmsMessageType = jmsMessageType;
+ return (T) this;
+ }
+
/**
* Specifies whether to test the connection on startup. This ensures
* that when Camel starts that all the JMS consumers have a valid
@@ -93,14 +169,22 @@ public class AMQPEndpoint {
* started with failed connections. The JMS producers is tested as well.
* The option is a boolean type.
*/
- private Boolean testConnectionOnStartup;
+ public T testConnectionOnStartup(boolean testConnectionOnStartup) {
+ this.testConnectionOnStartup = testConnectionOnStartup;
+ return (T) this;
+ }
+
/**
* Controls whether or not to include serialized headers. Applies only
* when isTransferExchange() is true. This requires that the objects are
* serializable. Camel will exclude any non-serializable objects and log
* it at WARN level. The option is a boolean type.
*/
- private Boolean allowSerializedHeaders;
+ public T allowSerializedHeaders(boolean allowSerializedHeaders) {
+ this.allowSerializedHeaders = allowSerializedHeaders;
+ return (T) this;
+ }
+
/**
* Whether to startup the JmsConsumer message listener asynchronously,
* when starting a route. For example if a JmsConsumer cannot get a
@@ -114,18 +198,30 @@ public class AMQPEndpoint {
* messages; You can then restart the route to retry. The option is a
* boolean type.
*/
- private Boolean asyncStartListener;
+ public T asyncStartListener(boolean asyncStartListener) {
+ this.asyncStartListener = asyncStartListener;
+ return (T) this;
+ }
+
/**
* Whether to stop the JmsConsumer message listener asynchronously, when
* stopping a route. The option is a boolean type.
*/
- private Boolean asyncStopListener;
+ public T asyncStopListener(boolean asyncStopListener) {
+ this.asyncStopListener = asyncStopListener;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* A pluggable
* org.springframework.jms.support.destination.DestinationResolver that
@@ -133,7 +229,11 @@ public class AMQPEndpoint {
* destination in a JNDI registry). The option is a
* org.springframework.jms.support.destination.DestinationResolver type.
*/
- private Object destinationResolver;
+ public T destinationResolver(Object destinationResolver) {
+ this.destinationResolver = destinationResolver;
+ return (T) this;
+ }
+
/**
* Specifies a org.springframework.util.ErrorHandler to be invoked in
* case of any uncaught exceptions thrown while processing a Message. By
@@ -144,24 +244,40 @@ public class AMQPEndpoint {
* configure, than having to code a custom errorHandler. The option is a
* org.springframework.util.ErrorHandler type.
*/
- private Object errorHandler;
+ public T errorHandler(Object errorHandler) {
+ this.errorHandler = errorHandler;
+ return (T) this;
+ }
+
/**
* Specifies the JMS Exception Listener that is to be notified of any
* underlying JMS exceptions. The option is a
* javax.jms.ExceptionListener type.
*/
- private Object exceptionListener;
+ public T exceptionListener(Object exceptionListener) {
+ this.exceptionListener = exceptionListener;
+ return (T) this;
+ }
+
/**
* To use a custom HeaderFilterStrategy to filter header to and from
* Camel message. The option is a
* org.apache.camel.spi.HeaderFilterStrategy type.
*/
- private HeaderFilterStrategy headerFilterStrategy;
+ public T headerFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ return (T) this;
+ }
+
/**
* Specify the limit for the number of consumers that are allowed to be
* idle at any given time. The option is a int type.
*/
- private Integer idleConsumerLimit;
+ public T idleConsumerLimit(int idleConsumerLimit) {
+ this.idleConsumerLimit = idleConsumerLimit;
+ return (T) this;
+ }
+
/**
* Specifies the limit for idle executions of a receive task, not having
* received any message within its execution. If this limit is reached,
@@ -170,7 +286,11 @@ public class AMQPEndpoint {
* setting). There is additional doc available from Spring. The option
* is a int type.
*/
- private Integer idleTaskExecutionLimit;
+ public T idleTaskExecutionLimit(int idleTaskExecutionLimit) {
+ this.idleTaskExecutionLimit = idleTaskExecutionLimit;
+ return (T) this;
+ }
+
/**
* Whether to include all JMSXxxx properties when mapping from JMS to
* Camel Message. Setting this to true will include properties such as
@@ -178,7 +298,11 @@ public class AMQPEndpoint {
* headerFilterStrategy then this option does not apply. The option is a
* boolean type.
*/
- private Boolean includeAllJMSXProperties;
+ public T includeAllJMSXProperties(boolean includeAllJMSXProperties) {
+ this.includeAllJMSXProperties = includeAllJMSXProperties;
+ return (T) this;
+ }
+
/**
* Pluggable strategy for encoding and decoding JMS keys so they can be
* compliant with the JMS specification. Camel provides two
@@ -190,34 +314,54 @@ public class AMQPEndpoint {
* org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
* using the # notation. The option is a java.lang.String type.
*/
- private Object jmsKeyFormatStrategy;
+ public T jmsKeyFormatStrategy(Object jmsKeyFormatStrategy) {
+ this.jmsKeyFormatStrategy = jmsKeyFormatStrategy;
+ return (T) this;
+ }
+
/**
* Specifies whether Camel should auto map the received JMS message to a
* suited payload type, such as javax.jms.TextMessage to a String etc.
* The option is a boolean type.
*/
- private Boolean mapJmsMessage;
+ public T mapJmsMessage(boolean mapJmsMessage) {
+ this.mapJmsMessage = mapJmsMessage;
+ return (T) this;
+ }
+
/**
* The number of messages per task. -1 is unlimited. If you use a range
* for concurrent consumers (eg min max), then this option can be used
* to set a value to eg 100 to control how fast the consumers will
* shrink when less work is required. The option is a int type.
*/
- private Integer maxMessagesPerTask;
+ public T maxMessagesPerTask(int maxMessagesPerTask) {
+ this.maxMessagesPerTask = maxMessagesPerTask;
+ return (T) this;
+ }
+
/**
* To use a custom Spring
* org.springframework.jms.support.converter.MessageConverter so you can
* be in control how to map to/from a javax.jms.Message. The option is a
* org.springframework.jms.support.converter.MessageConverter type.
*/
- private Object messageConverter;
+ public T messageConverter(Object messageConverter) {
+ this.messageConverter = messageConverter;
+ return (T) this;
+ }
+
/**
* To use the given MessageCreatedStrategy which are invoked when Camel
* creates new instances of javax.jms.Message objects when Camel is
* sending a JMS message. The option is a
* org.apache.camel.component.jms.MessageCreatedStrategy type.
*/
- private Object messageCreatedStrategy;
+ public T messageCreatedStrategy(Object messageCreatedStrategy) {
+ this.messageCreatedStrategy = messageCreatedStrategy;
+ return (T) this;
+ }
+
/**
* When sending, specifies whether message IDs should be added. This is
* just an hint to the JMS Broker. If the JMS provider accepts this
@@ -225,7 +369,11 @@ public class AMQPEndpoint {
* provider ignores the hint, the message ID must be set to its normal
* unique value. The option is a boolean type.
*/
- private Boolean messageIdEnabled;
+ public T messageIdEnabled(boolean messageIdEnabled) {
+ this.messageIdEnabled = messageIdEnabled;
+ return (T) this;
+ }
+
/**
* Registry ID of the MessageListenerContainerFactory used to determine
* what
@@ -234,7 +382,12 @@ public class AMQPEndpoint {
* consumerType to Custom. The option is a
* org.apache.camel.component.jms.MessageListenerContainerFactory type.
*/
- private Object messageListenerContainerFactory;
+ public T messageListenerContainerFactory(
+ Object messageListenerContainerFactory) {
+ this.messageListenerContainerFactory = messageListenerContainerFactory;
+ return (T) this;
+ }
+
/**
* Specifies whether timestamps should be enabled by default on sending
* messages. This is just an hint to the JMS Broker. If the JMS provider
@@ -242,23 +395,39 @@ public class AMQPEndpoint {
* zero; if the provider ignores the hint, the timestamp must be set to
* its normal value. The option is a boolean type.
*/
- private Boolean messageTimestampEnabled;
+ public T messageTimestampEnabled(boolean messageTimestampEnabled) {
+ this.messageTimestampEnabled = messageTimestampEnabled;
+ return (T) this;
+ }
+
/**
* Specifies whether to inhibit the delivery of messages published by
* its own connection. The option is a boolean type.
*/
- private Boolean pubSubNoLocal;
+ public T pubSubNoLocal(boolean pubSubNoLocal) {
+ this.pubSubNoLocal = pubSubNoLocal;
+ return (T) this;
+ }
+
/**
* The timeout for receiving messages (in milliseconds). The option is a
* long type.
*/
- private Long receiveTimeout;
+ public T receiveTimeout(long receiveTimeout) {
+ this.receiveTimeout = receiveTimeout;
+ return (T) this;
+ }
+
/**
* Specifies the interval between recovery attempts, i.e. when a
* connection is being refreshed, in milliseconds. The default is 5000
* ms, that is, 5 seconds. The option is a long type.
*/
- private Long recoveryInterval;
+ public T recoveryInterval(long recoveryInterval) {
+ this.recoveryInterval = recoveryInterval;
+ return (T) this;
+ }
+
/**
* Configures how often Camel should check for timed out Exchanges when
* doing request/reply over JMS. By default Camel checks once per
@@ -266,13 +435,22 @@ public class AMQPEndpoint {
* can lower this interval, to check more frequently. The timeout is
* determined by the option requestTimeout. The option is a long type.
*/
- private Long requestTimeoutCheckerInterval;
+ public T requestTimeoutCheckerInterval(
+ long requestTimeoutCheckerInterval) {
+ this.requestTimeoutCheckerInterval = requestTimeoutCheckerInterval;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* If enabled and you are using Request Reply messaging (InOut) and an
* Exchange failed on the consumer side, then the caused Exception will
@@ -286,7 +464,11 @@ public class AMQPEndpoint {
* org.apache.camel.RuntimeCamelException when returned to the producer.
* The option is a boolean type.
*/
- private Boolean transferException;
+ public T transferException(boolean transferException) {
+ this.transferException = transferException;
+ return (T) this;
+ }
+
/**
* You can transfer the exchange over the wire instead of just the body
* and headers. The following fields are transferred: In body, Out body,
@@ -297,7 +479,11 @@ public class AMQPEndpoint {
* and consumer side, so Camel knows the payloads is an Exchange and not
* a regular payload. The option is a boolean type.
*/
- private Boolean transferExchange;
+ public T transferExchange(boolean transferExchange) {
+ this.transferExchange = transferExchange;
+ return (T) this;
+ }
+
/**
* If enabled and you are using Request Reply messaging (InOut) and an
* Exchange failed with a SOAP fault (not exception) on the consumer
@@ -309,62 +495,108 @@ public class AMQPEndpoint {
* this when using Camel components that support faults such as SOAP
* based such as cxf or spring-ws. The option is a boolean type.
*/
- private Boolean transferFault;
+ public T transferFault(boolean transferFault) {
+ this.transferFault = transferFault;
+ return (T) this;
+ }
+
/**
* Specifies whether JMSMessageID should always be used as
* JMSCorrelationID for InOut messages. The option is a boolean type.
*/
- private Boolean useMessageIDAsCorrelationID;
+ public T useMessageIDAsCorrelationID(boolean useMessageIDAsCorrelationID) {
+ this.useMessageIDAsCorrelationID = useMessageIDAsCorrelationID;
+ return (T) this;
+ }
+
/**
* Number of times to wait for provisional correlation id to be updated
* to the actual correlation id when doing request/reply over JMS and
* when the option useMessageIDAsCorrelationID is enabled. The option is
* a int type.
*/
- private Integer waitForProvisionCorrelationToBeUpdatedCounter;
+ public T waitForProvisionCorrelationToBeUpdatedCounter(
+ int waitForProvisionCorrelationToBeUpdatedCounter) {
+ this.waitForProvisionCorrelationToBeUpdatedCounter = waitForProvisionCorrelationToBeUpdatedCounter;
+ return (T) this;
+ }
+
/**
* Interval in millis to sleep each time while waiting for provisional
* correlation id to be updated. The option is a long type.
*/
- private Long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+ public T waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ this.waitForProvisionCorrelationToBeUpdatedThreadSleepingTime = waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+ return (T) this;
+ }
+
/**
* Password to use with the ConnectionFactory. You can also configure
* username/password directly on the ConnectionFactory. The option is a
* java.lang.String type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Username to use with the ConnectionFactory. You can also configure
* username/password directly on the ConnectionFactory. The option is a
* java.lang.String type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
+
/**
* Specifies whether to use transacted mode. The option is a boolean
* type.
*/
- private Boolean transacted;
+ public T transacted(boolean transacted) {
+ this.transacted = transacted;
+ return (T) this;
+ }
+
/**
* If true, Camel will create a JmsTransactionManager, if there is no
* transactionManager injected when option transacted=true. The option
* is a boolean type.
*/
- private Boolean lazyCreateTransactionManager;
+ public T lazyCreateTransactionManager(
+ boolean lazyCreateTransactionManager) {
+ this.lazyCreateTransactionManager = lazyCreateTransactionManager;
+ return (T) this;
+ }
+
/**
* The Spring transaction manager to use. The option is a
* org.springframework.transaction.PlatformTransactionManager type.
*/
- private Object transactionManager;
+ public T transactionManager(Object transactionManager) {
+ this.transactionManager = transactionManager;
+ return (T) this;
+ }
+
/**
* The name of the transaction to use. The option is a java.lang.String
* type.
*/
- private String transactionName;
+ public T transactionName(String transactionName) {
+ this.transactionName = transactionName;
+ return (T) this;
+ }
+
/**
* The timeout value of the transaction (in seconds), if using
* transacted mode. The option is a int type.
*/
- private Integer transactionTimeout;
+ public T transactionTimeout(int transactionTimeout) {
+ this.transactionTimeout = transactionTimeout;
+ return (T) this;
+ }
public String getDestinationType() {
return destinationType;
@@ -734,13 +966,45 @@ public class AMQPEndpoint {
}
}
- public static class AMQPConsumer extends AMQPCommon {
+ public static class AMQPConsumer extends AMQPCommon<AMQPConsumer> {
+ private String acknowledgementModeName;
+ private Boolean asyncConsumer;
+ private Boolean autoStartup;
+ private Boolean bridgeErrorHandler;
+ private Integer cacheLevel;
+ private String cacheLevelName;
+ private Integer concurrentConsumers;
+ private Integer maxConcurrentConsumers;
+ private String replyTo;
+ private Boolean replyToDeliveryPersistent;
+ private String selector;
+ private Boolean subscriptionDurable;
+ private String subscriptionName;
+ private Boolean subscriptionShared;
+ private Boolean acceptMessagesWhileStopping;
+ private Boolean allowReplyManagerQuickStop;
+ private ConsumerType consumerType;
+ private DefaultTaskExecutorType defaultTaskExecutorType;
+ private Boolean eagerLoadingOfProperties;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+ private Boolean exposeListenerSession;
+ private Boolean replyToSameDestinationAllowed;
+ private Object taskExecutor;
+ private LoggingLevel errorHandlerLoggingLevel;
+ private Boolean errorHandlerLogStackTrace;
+
/**
* The JMS acknowledgement name, which is one of: SESSION_TRANSACTED,
* CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. The option
* is a java.lang.String type.
*/
- private String acknowledgementModeName;
+ public AMQPConsumer acknowledgementModeName(
+ String acknowledgementModeName) {
+ this.acknowledgementModeName = acknowledgementModeName;
+ return (AMQPConsumer) this;
+ }
+
/**
* Whether the JmsConsumer processes the Exchange asynchronously. If
* enabled then the JmsConsumer may pickup the next message from the JMS
@@ -753,12 +1017,20 @@ public class AMQPEndpoint {
* transaction must be executed synchronously (Camel 3.0 may support
* async transactions). The option is a boolean type.
*/
- private Boolean asyncConsumer;
+ public AMQPConsumer asyncConsumer(boolean asyncConsumer) {
+ this.asyncConsumer = asyncConsumer;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies whether the consumer container should auto-startup. The
* option is a boolean type.
*/
- private Boolean autoStartup;
+ public AMQPConsumer autoStartup(boolean autoStartup) {
+ this.autoStartup = autoStartup;
+ return (AMQPConsumer) this;
+ }
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -768,12 +1040,20 @@ public class AMQPEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AMQPConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AMQPConsumer) this;
+ }
+
/**
* Sets the cache level by ID for the underlying JMS resources. See
* cacheLevelName option for more details. The option is a int type.
*/
- private Integer cacheLevel;
+ public AMQPConsumer cacheLevel(int cacheLevel) {
+ this.cacheLevel = cacheLevel;
+ return (AMQPConsumer) this;
+ }
+
/**
* Sets the cache level by name for the underlying JMS resources.
* Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER,
@@ -781,7 +1061,11 @@ public class AMQPEndpoint {
* the Spring documentation and Transactions Cache Levels for more
* information. The option is a java.lang.String type.
*/
- private String cacheLevelName;
+ public AMQPConsumer cacheLevelName(String cacheLevelName) {
+ this.cacheLevelName = cacheLevelName;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies the default number of concurrent consumers when consuming
* from JMS (not for request/reply over JMS). See also the
@@ -790,7 +1074,11 @@ public class AMQPEndpoint {
* replyToConcurrentConsumers is used to control number of concurrent
* consumers on the reply message listener. The option is a int type.
*/
- private Integer concurrentConsumers;
+ public AMQPConsumer concurrentConsumers(int concurrentConsumers) {
+ this.concurrentConsumers = concurrentConsumers;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies the maximum number of concurrent consumers when consuming
* from JMS (not for request/reply over JMS). See also the
@@ -799,22 +1087,39 @@ public class AMQPEndpoint {
* replyToMaxConcurrentConsumers is used to control number of concurrent
* consumers on the reply message listener. The option is a int type.
*/
- private Integer maxConcurrentConsumers;
+ public AMQPConsumer maxConcurrentConsumers(int maxConcurrentConsumers) {
+ this.maxConcurrentConsumers = maxConcurrentConsumers;
+ return (AMQPConsumer) this;
+ }
+
/**
* Provides an explicit ReplyTo destination, which overrides any
* incoming value of Message.getJMSReplyTo(). The option is a
* java.lang.String type.
*/
- private String replyTo;
+ public AMQPConsumer replyTo(String replyTo) {
+ this.replyTo = replyTo;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies whether to use persistent delivery by default for replies.
* The option is a boolean type.
*/
- private Boolean replyToDeliveryPersistent;
+ public AMQPConsumer replyToDeliveryPersistent(
+ boolean replyToDeliveryPersistent) {
+ this.replyToDeliveryPersistent = replyToDeliveryPersistent;
+ return (AMQPConsumer) this;
+ }
+
/**
* Sets the JMS selector to use. The option is a java.lang.String type.
*/
- private String selector;
+ public AMQPConsumer selector(String selector) {
+ this.selector = selector;
+ return (AMQPConsumer) this;
+ }
+
/**
* Set whether to make the subscription durable. The durable
* subscription name to be used can be specified through the
@@ -825,7 +1130,11 @@ public class AMQPEndpoint {
* a topic (pub-sub domain), therefore this method switches the
* pubSubDomain flag as well. The option is a boolean type.
*/
- private Boolean subscriptionDurable;
+ public AMQPConsumer subscriptionDurable(boolean subscriptionDurable) {
+ this.subscriptionDurable = subscriptionDurable;
+ return (AMQPConsumer) this;
+ }
+
/**
* Set the name of a subscription to create. To be applied in case of a
* topic (pub-sub domain) with a shared or durable subscription. The
@@ -836,7 +1145,11 @@ public class AMQPEndpoint {
* for a shared subscription (which requires JMS 2.0). The option is a
* java.lang.String type.
*/
- private String subscriptionName;
+ public AMQPConsumer subscriptionName(String subscriptionName) {
+ this.subscriptionName = subscriptionName;
+ return (AMQPConsumer) this;
+ }
+
/**
* Set whether to make the subscription shared. The shared subscription
* name to be used can be specified through the subscriptionName
@@ -850,7 +1163,11 @@ public class AMQPEndpoint {
* pubSubDomain flag as well. Requires a JMS 2.0 compatible message
* broker. The option is a boolean type.
*/
- private Boolean subscriptionShared;
+ public AMQPConsumer subscriptionShared(boolean subscriptionShared) {
+ this.subscriptionShared = subscriptionShared;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies whether the consumer accept messages while it is stopping.
* You may consider enabling this option, if you start and stop JMS
@@ -862,7 +1179,12 @@ public class AMQPEndpoint {
* avoid this its recommended to enable this option. The option is a
* boolean type.
*/
- private Boolean acceptMessagesWhileStopping;
+ public AMQPConsumer acceptMessagesWhileStopping(
+ boolean acceptMessagesWhileStopping) {
+ this.acceptMessagesWhileStopping = acceptMessagesWhileStopping;
+ return (AMQPConsumer) this;
+ }
+
/**
* Whether the DefaultMessageListenerContainer used in the reply
* managers for request-reply messaging allow the
@@ -873,7 +1195,12 @@ public class AMQPEndpoint {
* but to enable for reply managers you must enable this flag. The
* option is a boolean type.
*/
- private Boolean allowReplyManagerQuickStop;
+ public AMQPConsumer allowReplyManagerQuickStop(
+ boolean allowReplyManagerQuickStop) {
+ this.allowReplyManagerQuickStop = allowReplyManagerQuickStop;
+ return (AMQPConsumer) this;
+ }
+
/**
* The consumer type to use, which can be one of: Simple, Default, or
* Custom. The consumer type determines which Spring JMS listener to
@@ -887,7 +1214,11 @@ public class AMQPEndpoint {
* use. The option is a org.apache.camel.component.jms.ConsumerType
* type.
*/
- private ConsumerType consumerType;
+ public AMQPConsumer consumerType(ConsumerType consumerType) {
+ this.consumerType = consumerType;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies what default TaskExecutor type to use in the
* DefaultMessageListenerContainer, for both consumer endpoints and the
@@ -901,7 +1232,12 @@ public class AMQPEndpoint {
* decreasing concurrent consumers. The option is a
* org.apache.camel.component.jms.DefaultTaskExecutorType type.
*/
- private DefaultTaskExecutorType defaultTaskExecutorType;
+ public AMQPConsumer defaultTaskExecutorType(
+ DefaultTaskExecutorType defaultTaskExecutorType) {
+ this.defaultTaskExecutorType = defaultTaskExecutorType;
+ return (AMQPConsumer) this;
+ }
+
/**
* Enables eager loading of JMS properties and payload as soon as a
* message is loaded which generally is inefficient as the JMS
@@ -909,7 +1245,12 @@ public class AMQPEndpoint {
* issues with the underlying JMS provider and the use of JMS
* properties. The option is a boolean type.
*/
- private Boolean eagerLoadingOfProperties;
+ public AMQPConsumer eagerLoadingOfProperties(
+ boolean eagerLoadingOfProperties) {
+ this.eagerLoadingOfProperties = eagerLoadingOfProperties;
+ return (AMQPConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -917,40 +1258,70 @@ public class AMQPEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AMQPConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AMQPConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AMQPConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AMQPConsumer) this;
+ }
+
/**
* Specifies whether the listener session should be exposed when
* consuming messages. The option is a boolean type.
*/
- private Boolean exposeListenerSession;
+ public AMQPConsumer exposeListenerSession(boolean exposeListenerSession) {
+ this.exposeListenerSession = exposeListenerSession;
+ return (AMQPConsumer) this;
+ }
+
/**
* Whether a JMS consumer is allowed to send a reply message to the same
* destination that the consumer is using to consume from. This prevents
* an endless loop by consuming and sending back the same message to
* itself. The option is a boolean type.
*/
- private Boolean replyToSameDestinationAllowed;
+ public AMQPConsumer replyToSameDestinationAllowed(
+ boolean replyToSameDestinationAllowed) {
+ this.replyToSameDestinationAllowed = replyToSameDestinationAllowed;
+ return (AMQPConsumer) this;
+ }
+
/**
* Allows you to specify a custom task executor for consuming messages.
* The option is a org.springframework.core.task.TaskExecutor type.
*/
- private Object taskExecutor;
+ public AMQPConsumer taskExecutor(Object taskExecutor) {
+ this.taskExecutor = taskExecutor;
+ return (AMQPConsumer) this;
+ }
+
/**
* Allows to configure the default errorHandler logging level for
* logging uncaught exceptions. The option is a
* org.apache.camel.LoggingLevel type.
*/
- private LoggingLevel errorHandlerLoggingLevel;
+ public AMQPConsumer errorHandlerLoggingLevel(
+ LoggingLevel errorHandlerLoggingLevel) {
+ this.errorHandlerLoggingLevel = errorHandlerLoggingLevel;
+ return (AMQPConsumer) this;
+ }
+
/**
* Allows to control whether stacktraces should be logged or not, by the
* default errorHandler. The option is a boolean type.
*/
- private Boolean errorHandlerLogStackTrace;
+ public AMQPConsumer errorHandlerLogStackTrace(
+ boolean errorHandlerLogStackTrace) {
+ this.errorHandlerLogStackTrace = errorHandlerLogStackTrace;
+ return (AMQPConsumer) this;
+ }
public String getAcknowledgementModeName() {
return acknowledgementModeName;
@@ -1168,18 +1539,50 @@ public class AMQPEndpoint {
}
}
- public static class AMQPProducer extends AMQPCommon {
+ public static class AMQPProducer extends AMQPCommon<AMQPProducer> {
+ private Integer deliveryMode;
+ private Boolean deliveryPersistent;
+ private Boolean explicitQosEnabled;
+ private Boolean formatDateHeadersToIso8601;
+ private Boolean preserveMessageQos;
+ private Integer priority;
+ private Integer replyToConcurrentConsumers;
+ private Integer replyToMaxConcurrentConsumers;
+ private Integer replyToOnTimeoutMaxConcurrentConsumers;
+ private String replyToOverride;
+ private ReplyToType replyToType;
+ private Long requestTimeout;
+ private Long timeToLive;
+ private String allowAdditionalHeaders;
+ private Boolean allowNullBody;
+ private Boolean alwaysCopyMessage;
+ private String correlationProperty;
+ private Boolean disableTimeToLive;
+ private Boolean forceSendOriginalMessage;
+ private Boolean includeSentJMSMessageID;
+ private String replyToCacheLevelName;
+ private String replyToDestinationSelectorName;
+ private Boolean streamMessageTypeEnabled;
+
/**
* Specifies the delivery mode to be used. Possibles values are those
* defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
* = 2. The option is a java.lang.Integer type.
*/
- private Integer deliveryMode;
+ public AMQPProducer deliveryMode(Integer deliveryMode) {
+ this.deliveryMode = deliveryMode;
+ return (AMQPProducer) this;
+ }
+
/**
* Specifies whether persistent delivery is used by default. The option
* is a boolean type.
*/
- private Boolean deliveryPersistent;
+ public AMQPProducer deliveryPersistent(boolean deliveryPersistent) {
+ this.deliveryPersistent = deliveryPersistent;
+ return (AMQPProducer) this;
+ }
+
/**
* Set if the deliveryMode, priority or timeToLive qualities of service
* should be used when sending messages. This option is based on
@@ -1189,12 +1592,21 @@ public class AMQPEndpoint {
* reading QoS properties exclusively from the Camel In message headers.
* The option is a java.lang.Boolean type.
*/
- private Boolean explicitQosEnabled;
+ public AMQPProducer explicitQosEnabled(Boolean explicitQosEnabled) {
+ this.explicitQosEnabled = explicitQosEnabled;
+ return (AMQPProducer) this;
+ }
+
/**
* Sets whether date headers should be formatted according to the ISO
* 8601 standard. The option is a boolean type.
*/
- private Boolean formatDateHeadersToIso8601;
+ public AMQPProducer formatDateHeadersToIso8601(
+ boolean formatDateHeadersToIso8601) {
+ this.formatDateHeadersToIso8601 = formatDateHeadersToIso8601;
+ return (AMQPProducer) this;
+ }
+
/**
* Set to true, if you want to send message using the QoS settings
* specified on the message, instead of the QoS settings on the JMS
@@ -1206,39 +1618,66 @@ public class AMQPEndpoint {
* by contrast, will only use options set on the endpoint, and not
* values from the message header. The option is a boolean type.
*/
- private Boolean preserveMessageQos;
+ public AMQPProducer preserveMessageQos(boolean preserveMessageQos) {
+ this.preserveMessageQos = preserveMessageQos;
+ return (AMQPProducer) this;
+ }
+
/**
* Values greater than 1 specify the message priority when sending
* (where 0 is the lowest priority and 9 is the highest). The
* explicitQosEnabled option must also be enabled in order for this
* option to have any effect. The option is a int type.
*/
- private Integer priority;
+ public AMQPProducer priority(int priority) {
+ this.priority = priority;
+ return (AMQPProducer) this;
+ }
+
/**
* Specifies the default number of concurrent consumers when doing
* request/reply over JMS. See also the maxMessagesPerTask option to
* control dynamic scaling up/down of threads. The option is a int type.
*/
- private Integer replyToConcurrentConsumers;
+ public AMQPProducer replyToConcurrentConsumers(
+ int replyToConcurrentConsumers) {
+ this.replyToConcurrentConsumers = replyToConcurrentConsumers;
+ return (AMQPProducer) this;
+ }
+
/**
* Specifies the maximum number of concurrent consumers when using
* request/reply over JMS. See also the maxMessagesPerTask option to
* control dynamic scaling up/down of threads. The option is a int type.
*/
- private Integer replyToMaxConcurrentConsumers;
+ public AMQPProducer replyToMaxConcurrentConsumers(
+ int replyToMaxConcurrentConsumers) {
+ this.replyToMaxConcurrentConsumers = replyToMaxConcurrentConsumers;
+ return (AMQPProducer) this;
+ }
+
/**
* Specifies the maximum number of concurrent consumers for continue
* routing when timeout occurred when using request/reply over JMS. The
* option is a int type.
*/
- private Integer replyToOnTimeoutMaxConcurrentConsumers;
+ public AMQPProducer replyToOnTimeoutMaxConcurrentConsumers(
+ int replyToOnTimeoutMaxConcurrentConsumers) {
+ this.replyToOnTimeoutMaxConcurrentConsumers = replyToOnTimeoutMaxConcurrentConsumers;
+ return (AMQPProducer) this;
+ }
+
/**
* Provides an explicit ReplyTo destination in the JMS message, which
* overrides the setting of replyTo. It is useful if you want to forward
* the message to a remote Queue and receive the reply message from the
* ReplyTo destination. The option is a java.lang.String type.
*/
- private String replyToOverride;
+ public AMQPProducer replyToOverride(String replyToOverride) {
+ this.replyToOverride = replyToOverride;
+ return (AMQPProducer) this;
+ }
+
/**
* Allows for explicitly specifying which kind of strategy to use for
* replyTo queues when doing request/reply over JMS. Possible values
@@ -1251,7 +1690,11 @@ public class AMQPEndpoint {
* lower performance than its alternatives Temporary and Exclusive. The
* option is a org.apache.camel.component.jms.ReplyToType type.
*/
- private ReplyToType replyToType;
+ public AMQPProducer replyToType(ReplyToType replyToType) {
+ this.replyToType = replyToType;
+ return (AMQPProducer) this;
+ }
+
/**
* The timeout for waiting for a reply when using the InOut Exchange
* Pattern (in milliseconds). The default is 20 seconds. You can include
@@ -1260,12 +1703,20 @@ public class AMQPEndpoint {
* timeout values. See also the requestTimeoutCheckerInterval option.
* The option is a long type.
*/
- private Long requestTimeout;
+ public AMQPProducer requestTimeout(long requestTimeout) {
+ this.requestTimeout = requestTimeout;
+ return (AMQPProducer) this;
+ }
+
/**
* When sending messages, specifies the time-to-live of the message (in
* milliseconds). The option is a long type.
*/
- private Long timeToLive;
+ public AMQPProducer timeToLive(long timeToLive) {
+ this.timeToLive = timeToLive;
+ return (AMQPProducer) this;
+ }
+
/**
* This option is used to allow additional headers which may have values
* that are invalid according to JMS specification. For example some
@@ -1275,13 +1726,21 @@ public class AMQPEndpoint {
* use as suffix for wildcard matching. The option is a java.lang.String
* type.
*/
- private String allowAdditionalHeaders;
+ public AMQPProducer allowAdditionalHeaders(String allowAdditionalHeaders) {
+ this.allowAdditionalHeaders = allowAdditionalHeaders;
+ return (AMQPProducer) this;
+ }
+
/**
* Whether to allow sending messages with no body. If this option is
* false and the message body is null, then an JMSException is thrown.
* The option is a boolean type.
*/
- private Boolean allowNullBody;
+ public AMQPProducer allowNullBody(boolean allowNullBody) {
+ this.allowNullBody = allowNullBody;
+ return (AMQPProducer) this;
+ }
+
/**
* If true, Camel will always make a JMS message copy of the message
* when it is passed to the producer for sending. Copying the message is
@@ -1290,7 +1749,11 @@ public class AMQPEndpoint {
* the alwaysCopyMessage option to true, if a
* replyToDestinationSelectorName is set). The option is a boolean type.
*/
- private Boolean alwaysCopyMessage;
+ public AMQPProducer alwaysCopyMessage(boolean alwaysCopyMessage) {
+ this.alwaysCopyMessage = alwaysCopyMessage;
+ return (AMQPProducer) this;
+ }
+
/**
* Use this JMS property to correlate messages in InOut exchange pattern
* (request-reply) instead of JMSCorrelationID property. This allows you
@@ -1300,7 +1763,11 @@ public class AMQPEndpoint {
* generated if not supplied in the header of the message under the same
* name. The option is a java.lang.String type.
*/
- private String correlationProperty;
+ public AMQPProducer correlationProperty(String correlationProperty) {
+ this.correlationProperty = correlationProperty;
+ return (AMQPProducer) this;
+ }
+
/**
* Use this option to force disabling time to live. For example when you
* do request/reply over JMS, then Camel will by default use the
@@ -1312,14 +1779,23 @@ public class AMQPEndpoint {
* on the receiver system. See below in section About time to live for
* more details. The option is a boolean type.
*/
- private Boolean disableTimeToLive;
+ public AMQPProducer disableTimeToLive(boolean disableTimeToLive) {
+ this.disableTimeToLive = disableTimeToLive;
+ return (AMQPProducer) this;
+ }
+
/**
* When using mapJmsMessage=false Camel will create a new JMS message to
* send to a new JMS destination if you touch the headers (get or set)
* during the route. Set this option to true to force Camel to send the
* original JMS message that was received. The option is a boolean type.
*/
- private Boolean forceSendOriginalMessage;
+ public AMQPProducer forceSendOriginalMessage(
+ boolean forceSendOriginalMessage) {
+ this.forceSendOriginalMessage = forceSendOriginalMessage;
+ return (AMQPProducer) this;
+ }
+
/**
* Only applicable when sending to JMS destination using InOnly (eg fire
* and forget). Enabling this option will enrich the Camel Exchange with
@@ -1327,7 +1803,12 @@ public class AMQPEndpoint {
* message was sent to the JMS destination. The option is a boolean
* type.
*/
- private Boolean includeSentJMSMessageID;
+ public AMQPProducer includeSentJMSMessageID(
+ boolean includeSentJMSMessageID) {
+ this.includeSentJMSMessageID = includeSentJMSMessageID;
+ return (AMQPProducer) this;
+ }
+
/**
* Sets the cache level by name for the reply consumer when doing
* request/reply over JMS. This option only applies when using fixed
@@ -1340,14 +1821,23 @@ public class AMQPEndpoint {
* value such as CACHE_CONSUMER or CACHE_SESSION. The option is a
* java.lang.String type.
*/
- private String replyToCacheLevelName;
+ public AMQPProducer replyToCacheLevelName(String replyToCacheLevelName) {
+ this.replyToCacheLevelName = replyToCacheLevelName;
+ return (AMQPProducer) this;
+ }
+
/**
* Sets the JMS Selector using the fixed name to be used so you can
* filter out your own replies from the others when using a shared queue
* (that is, if you are not using a temporary reply queue). The option
* is a java.lang.String type.
*/
- private String replyToDestinationSelectorName;
+ public AMQPProducer replyToDestinationSelectorName(
+ String replyToDestinationSelectorName) {
+ this.replyToDestinationSelectorName = replyToDestinationSelectorName;
+ return (AMQPProducer) this;
+ }
+
/**
* Sets whether StreamMessage type is enabled or not. Message payloads
* of streaming kind such as files, InputStream, etc will either by sent
@@ -1358,7 +1848,11 @@ public class AMQPEndpoint {
* chunk is then written to the StreamMessage until no more data. The
* option is a boolean type.
*/
- private Boolean streamMessageTypeEnabled;
+ public AMQPProducer streamMessageTypeEnabled(
+ boolean streamMessageTypeEnabled) {
+ this.streamMessageTypeEnabled = streamMessageTypeEnabled;
+ return (AMQPProducer) this;
+ }
public Integer getDeliveryMode() {
return deliveryMode;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java
index 9f46886..da03add 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java
@@ -32,168 +32,327 @@ import org.apache.camel.spi.ExceptionHandler;
public class AS2Endpoint {
- public static class AS2Common extends EndpointConfiguration {
+ public static class AS2Common<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private AS2ApiName apiName;
+ private String methodName;
+ private String as2From;
+ private AS2MessageStructure as2MessageStructure;
+ private String as2To;
+ private String as2Version;
+ private String clientFqdn;
+ private AS2CompressionAlgorithm compressionAlgorithm;
+ private PrivateKey decryptingPrivateKey;
+ private String dispositionNotificationTo;
+ private String ediMessageTransferEncoding;
+ private Object ediMessageType;
+ private AS2EncryptionAlgorithm encryptingAlgorithm;
+ private Certificate[] encryptingCertificateChain;
+ private String from;
+ private String inBody;
+ private String mdnMessageTemplate;
+ private String requestUri;
+ private String server;
+ private String serverFqdn;
+ private Integer serverPortNumber;
+ private String[] signedReceiptMicAlgorithms;
+ private AS2SignatureAlgorithm signingAlgorithm;
+ private Certificate[] signingCertificateChain;
+ private PrivateKey signingPrivateKey;
+ private String subject;
+ private String targetHostname;
+ private Integer targetPortNumber;
+ private String userAgent;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* What kind of operation to perform. The option is a
* org.apache.camel.component.as2.internal.AS2ApiName type.
*/
- private AS2ApiName apiName;
+ public T apiName(AS2ApiName apiName) {
+ this.apiName = apiName;
+ return (T) this;
+ }
+
/**
* What sub operation to use for the selected operation. The option is a
* java.lang.String type.
*/
- private String methodName;
+ public T methodName(String methodName) {
+ this.methodName = methodName;
+ return (T) this;
+ }
+
/**
* The value of the AS2From header of AS2 message. The option is a
* java.lang.String type.
*/
- private String as2From;
+ public T as2From(String as2From) {
+ this.as2From = as2From;
+ return (T) this;
+ }
+
/**
* The structure of AS2 Message. One of: PLAIN - No encryption, no
* signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
* no signature, ENCRYPTED_SIGNED - Encryption, signature. The option is
* a org.apache.camel.component.as2.api.AS2MessageStructure type.
*/
- private AS2MessageStructure as2MessageStructure;
+ public T as2MessageStructure(AS2MessageStructure as2MessageStructure) {
+ this.as2MessageStructure = as2MessageStructure;
+ return (T) this;
+ }
+
/**
* The value of the AS2To header of AS2 message. The option is a
* java.lang.String type.
*/
- private String as2To;
+ public T as2To(String as2To) {
+ this.as2To = as2To;
+ return (T) this;
+ }
+
/**
* The version of the AS2 protocol. The option is a java.lang.String
* type.
*/
- private String as2Version;
+ public T as2Version(String as2Version) {
+ this.as2Version = as2Version;
+ return (T) this;
+ }
+
/**
* The Client Fully Qualified Domain Name (FQDN). Used in message ids
* sent by endpoint. The option is a java.lang.String type.
*/
- private String clientFqdn;
+ public T clientFqdn(String clientFqdn) {
+ this.clientFqdn = clientFqdn;
+ return (T) this;
+ }
+
/**
* The algorithm used to compress EDI message. The option is a
* org.apache.camel.component.as2.api.AS2CompressionAlgorithm type.
*/
- private AS2CompressionAlgorithm compressionAlgorithm;
+ public T compressionAlgorithm(
+ AS2CompressionAlgorithm compressionAlgorithm) {
+ this.compressionAlgorithm = compressionAlgorithm;
+ return (T) this;
+ }
+
/**
* The key used to encrypt the EDI message. The option is a
* java.security.PrivateKey type.
*/
- private PrivateKey decryptingPrivateKey;
+ public T decryptingPrivateKey(PrivateKey decryptingPrivateKey) {
+ this.decryptingPrivateKey = decryptingPrivateKey;
+ return (T) this;
+ }
+
/**
* The value of the Disposition-Notification-To header. Assigning a
* value to this parameter requests a message disposition notification
* (MDN) for the AS2 message. The option is a java.lang.String type.
*/
- private String dispositionNotificationTo;
+ public T dispositionNotificationTo(String dispositionNotificationTo) {
+ this.dispositionNotificationTo = dispositionNotificationTo;
+ return (T) this;
+ }
+
/**
* The transfer encoding of EDI message. The option is a
* java.lang.String type.
*/
- private String ediMessageTransferEncoding;
+ public T ediMessageTransferEncoding(String ediMessageTransferEncoding) {
+ this.ediMessageTransferEncoding = ediMessageTransferEncoding;
+ return (T) this;
+ }
+
/**
* The content type of EDI message. One of application/edifact,
* application/edi-x12, application/edi-consent. The option is a
* org.apache.http.entity.ContentType type.
*/
- private Object ediMessageType;
+ public T ediMessageType(Object ediMessageType) {
+ this.ediMessageType = ediMessageType;
+ return (T) this;
+ }
+
/**
* The algorithm used to encrypt EDI message. The option is a
* org.apache.camel.component.as2.api.AS2EncryptionAlgorithm type.
*/
- private AS2EncryptionAlgorithm encryptingAlgorithm;
+ public T encryptingAlgorithm(AS2EncryptionAlgorithm encryptingAlgorithm) {
+ this.encryptingAlgorithm = encryptingAlgorithm;
+ return (T) this;
+ }
+
/**
* The chain of certificates used to encrypt EDI message. The option is
* a java.security.cert.Certificate[] type.
*/
- private Certificate[] encryptingCertificateChain;
+ public T encryptingCertificateChain(
+ Certificate[] encryptingCertificateChain) {
+ this.encryptingCertificateChain = encryptingCertificateChain;
+ return (T) this;
+ }
+
/**
* The value of the From header of AS2 message. The option is a
* java.lang.String type.
*/
- private String from;
+ public T from(String from) {
+ this.from = from;
+ return (T) this;
+ }
+
/**
* Sets the name of a parameter to be passed in the exchange In Body.
* The option is a java.lang.String type.
*/
- private String inBody;
+ public T inBody(String inBody) {
+ this.inBody = inBody;
+ return (T) this;
+ }
+
/**
* The template used to format MDN message. The option is a
* java.lang.String type.
*/
- private String mdnMessageTemplate;
+ public T mdnMessageTemplate(String mdnMessageTemplate) {
+ this.mdnMessageTemplate = mdnMessageTemplate;
+ return (T) this;
+ }
+
/**
* The request URI of EDI message. The option is a java.lang.String
* type.
*/
- private String requestUri;
+ public T requestUri(String requestUri) {
+ this.requestUri = requestUri;
+ return (T) this;
+ }
+
/**
* The value included in the Server message header identifying the AS2
* Server. The option is a java.lang.String type.
*/
- private String server;
+ public T server(String server) {
+ this.server = server;
+ return (T) this;
+ }
+
/**
* The Server Fully Qualified Domain Name (FQDN). Used in message ids
* sent by endpoint. The option is a java.lang.String type.
*/
- private String serverFqdn;
+ public T serverFqdn(String serverFqdn) {
+ this.serverFqdn = serverFqdn;
+ return (T) this;
+ }
+
/**
* The port number of server. The option is a java.lang.Integer type.
*/
- private Integer serverPortNumber;
+ public T serverPortNumber(Integer serverPortNumber) {
+ this.serverPortNumber = serverPortNumber;
+ return (T) this;
+ }
+
/**
* The list of algorithms, in order of preference, requested to generate
* a message integrity check (MIC) returned in message dispostion
* notification (MDN). The option is a java.lang.String[] type.
*/
- private String[] signedReceiptMicAlgorithms;
+ public T signedReceiptMicAlgorithms(String[] signedReceiptMicAlgorithms) {
+ this.signedReceiptMicAlgorithms = signedReceiptMicAlgorithms;
+ return (T) this;
+ }
+
/**
* The algorithm used to sign EDI message. The option is a
* org.apache.camel.component.as2.api.AS2SignatureAlgorithm type.
*/
- private AS2SignatureAlgorithm signingAlgorithm;
+ public T signingAlgorithm(AS2SignatureAlgorithm signingAlgorithm) {
+ this.signingAlgorithm = signingAlgorithm;
+ return (T) this;
+ }
+
/**
* The chain of certificates used to sign EDI message. The option is a
* java.security.cert.Certificate[] type.
*/
- private Certificate[] signingCertificateChain;
+ public T signingCertificateChain(Certificate[] signingCertificateChain) {
+ this.signingCertificateChain = signingCertificateChain;
+ return (T) this;
+ }
+
/**
* The key used to sign the EDI message. The option is a
* java.security.PrivateKey type.
*/
- private PrivateKey signingPrivateKey;
+ public T signingPrivateKey(PrivateKey signingPrivateKey) {
+ this.signingPrivateKey = signingPrivateKey;
+ return (T) this;
+ }
+
/**
* The value of Subject header of AS2 message. The option is a
* java.lang.String type.
*/
- private String subject;
+ public T subject(String subject) {
+ this.subject = subject;
+ return (T) this;
+ }
+
/**
* The host name (IP or DNS name) of target host. The option is a
* java.lang.String type.
*/
- private String targetHostname;
+ public T targetHostname(String targetHostname) {
+ this.targetHostname = targetHostname;
+ return (T) this;
+ }
+
/**
* The port number of target host. -1 indicates the scheme default port.
* The option is a java.lang.Integer type.
*/
- private Integer targetPortNumber;
+ public T targetPortNumber(Integer targetPortNumber) {
+ this.targetPortNumber = targetPortNumber;
+ return (T) this;
+ }
+
/**
* The value included in the User-Agent message header identifying the
* AS2 user agent. The option is a java.lang.String type.
*/
- private String userAgent;
+ public T userAgent(String userAgent) {
+ this.userAgent = userAgent;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public AS2ApiName getApiName() {
return apiName;
@@ -452,7 +611,11 @@ public class AS2Endpoint {
}
}
- public static class AS2Consumer extends AS2Common {
+ public static class AS2Consumer extends AS2Common<AS2Consumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -462,7 +625,11 @@ public class AS2Endpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AS2Consumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AS2Consumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -470,12 +637,19 @@ public class AS2Endpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AS2Consumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AS2Consumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AS2Consumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AS2Consumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -502,7 +676,7 @@ public class AS2Endpoint {
}
}
- public static class AS2Producer extends AS2Common {
+ public static class AS2Producer extends AS2Common<AS2Producer> {
}
public static enum AS2ApiName {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java
index 612f986..d0754b4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java
@@ -32,17 +32,73 @@ import org.apache.camel.spi.HeaderFilterStrategy;
public class ActiveMQEndpoint {
- public static class ActiveMQCommon extends EndpointConfiguration {
+ public static class ActiveMQCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String destinationType;
+ private String destinationName;
+ private String clientId;
+ private Object connectionFactory;
+ private Boolean disableReplyTo;
+ private String durableSubscriptionName;
+ private JmsMessageType jmsMessageType;
+ private Boolean testConnectionOnStartup;
+ private Boolean allowSerializedHeaders;
+ private Boolean asyncStartListener;
+ private Boolean asyncStopListener;
+ private Boolean basicPropertyBinding;
+ private Object destinationResolver;
+ private Object errorHandler;
+ private Object exceptionListener;
+ private HeaderFilterStrategy headerFilterStrategy;
+ private Integer idleConsumerLimit;
+ private Integer idleTaskExecutionLimit;
+ private Boolean includeAllJMSXProperties;
+ private Object jmsKeyFormatStrategy;
+ private Boolean mapJmsMessage;
+ private Integer maxMessagesPerTask;
+ private Object messageConverter;
+ private Object messageCreatedStrategy;
+ private Boolean messageIdEnabled;
+ private Object messageListenerContainerFactory;
+ private Boolean messageTimestampEnabled;
+ private Boolean pubSubNoLocal;
+ private Long receiveTimeout;
+ private Long recoveryInterval;
+ private Long requestTimeoutCheckerInterval;
+ private Boolean synchronous;
+ private Boolean transferException;
+ private Boolean transferExchange;
+ private Boolean transferFault;
+ private Boolean useMessageIDAsCorrelationID;
+ private Integer waitForProvisionCorrelationToBeUpdatedCounter;
+ private Long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+ private String password;
+ private String username;
+ private Boolean transacted;
+ private Boolean lazyCreateTransactionManager;
+ private Object transactionManager;
+ private String transactionName;
+ private Integer transactionTimeout;
+
/**
* The kind of destination to use. The option is a java.lang.String
* type.
*/
- private String destinationType;
+ public T destinationType(String destinationType) {
+ this.destinationType = destinationType;
+ return (T) this;
+ }
+
/**
* Name of the queue or topic to use as destination. The option is a
* java.lang.String type.
*/
- private String destinationName;
+ public T destinationName(String destinationName) {
+ this.destinationName = destinationName;
+ return (T) this;
+ }
+
/**
* Sets the JMS client ID to use. Note that this value, if specified,
* must be unique and can only be used by a single JMS connection
@@ -50,7 +106,11 @@ public class ActiveMQEndpoint {
* subscriptions. If using Apache ActiveMQ you may prefer to use Virtual
* Topics instead. The option is a java.lang.String type.
*/
- private String clientId;
+ public T clientId(String clientId) {
+ this.clientId = clientId;
+ return (T) this;
+ }
+
/**
* Sets the default connection factory to be used if a connection
* factory is not specified for either
@@ -58,7 +118,11 @@ public class ActiveMQEndpoint {
* setListenerConnectionFactory(ConnectionFactory). The option is a
* javax.jms.ConnectionFactory type.
*/
- private Object connectionFactory;
+ public T connectionFactory(Object connectionFactory) {
+ this.connectionFactory = connectionFactory;
+ return (T) this;
+ }
+
/**
* Specifies whether Camel ignores the JMSReplyTo header in messages. If
* true, Camel does not send a reply back to the destination specified
@@ -70,13 +134,21 @@ public class ActiveMQEndpoint {
* want to route message from one system to another. The option is a
* boolean type.
*/
- private Boolean disableReplyTo;
+ public T disableReplyTo(boolean disableReplyTo) {
+ this.disableReplyTo = disableReplyTo;
+ return (T) this;
+ }
+
/**
* The durable subscriber name for specifying durable topic
* subscriptions. The clientId option must be configured as well. The
* option is a java.lang.String type.
*/
- private String durableSubscriptionName;
+ public T durableSubscriptionName(String durableSubscriptionName) {
+ this.durableSubscriptionName = durableSubscriptionName;
+ return (T) this;
+ }
+
/**
* Allows you to force the use of a specific javax.jms.Message
* implementation for sending JMS messages. Possible values are: Bytes,
@@ -85,7 +157,11 @@ public class ActiveMQEndpoint {
* to specify it. The option is a
* org.apache.camel.component.jms.JmsMessageType type.
*/
- private JmsMessageType jmsMessageType;
+ public T jmsMessageType(JmsMessageType jmsMessageType) {
+ this.jmsMessageType = jmsMessageType;
+ return (T) this;
+ }
+
/**
* Specifies whether to test the connection on startup. This ensures
* that when Camel starts that all the JMS consumers have a valid
@@ -94,14 +170,22 @@ public class ActiveMQEndpoint {
* started with failed connections. The JMS producers is tested as well.
* The option is a boolean type.
*/
- private Boolean testConnectionOnStartup;
+ public T testConnectionOnStartup(boolean testConnectionOnStartup) {
+ this.testConnectionOnStartup = testConnectionOnStartup;
+ return (T) this;
+ }
+
/**
* Controls whether or not to include serialized headers. Applies only
* when isTransferExchange() is true. This requires that the objects are
* serializable. Camel will exclude any non-serializable objects and log
* it at WARN level. The option is a boolean type.
*/
- private Boolean allowSerializedHeaders;
+ public T allowSerializedHeaders(boolean allowSerializedHeaders) {
+ this.allowSerializedHeaders = allowSerializedHeaders;
+ return (T) this;
+ }
+
/**
* Whether to startup the JmsConsumer message listener asynchronously,
* when starting a route. For example if a JmsConsumer cannot get a
@@ -115,18 +199,30 @@ public class ActiveMQEndpoint {
* messages; You can then restart the route to retry. The option is a
* boolean type.
*/
- private Boolean asyncStartListener;
+ public T asyncStartListener(boolean asyncStartListener) {
+ this.asyncStartListener = asyncStartListener;
+ return (T) this;
+ }
+
/**
* Whether to stop the JmsConsumer message listener asynchronously, when
* stopping a route. The option is a boolean type.
*/
- private Boolean asyncStopListener;
+ public T asyncStopListener(boolean asyncStopListener) {
+ this.asyncStopListener = asyncStopListener;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* A pluggable
* org.springframework.jms.support.destination.DestinationResolver that
@@ -134,7 +230,11 @@ public class ActiveMQEndpoint {
* destination in a JNDI registry). The option is a
* org.springframework.jms.support.destination.DestinationResolver type.
*/
- private Object destinationResolver;
+ public T destinationResolver(Object destinationResolver) {
+ this.destinationResolver = destinationResolver;
+ return (T) this;
+ }
+
/**
* Specifies a org.springframework.util.ErrorHandler to be invoked in
* case of any uncaught exceptions thrown while processing a Message. By
@@ -145,24 +245,40 @@ public class ActiveMQEndpoint {
* configure, than having to code a custom errorHandler. The option is a
* org.springframework.util.ErrorHandler type.
*/
- private Object errorHandler;
+ public T errorHandler(Object errorHandler) {
+ this.errorHandler = errorHandler;
+ return (T) this;
+ }
+
/**
* Specifies the JMS Exception Listener that is to be notified of any
* underlying JMS exceptions. The option is a
* javax.jms.ExceptionListener type.
*/
- private Object exceptionListener;
+ public T exceptionListener(Object exceptionListener) {
+ this.exceptionListener = exceptionListener;
+ return (T) this;
+ }
+
/**
* To use a custom HeaderFilterStrategy to filter header to and from
* Camel message. The option is a
* org.apache.camel.spi.HeaderFilterStrategy type.
*/
- private HeaderFilterStrategy headerFilterStrategy;
+ public T headerFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ return (T) this;
+ }
+
/**
* Specify the limit for the number of consumers that are allowed to be
* idle at any given time. The option is a int type.
*/
- private Integer idleConsumerLimit;
+ public T idleConsumerLimit(int idleConsumerLimit) {
+ this.idleConsumerLimit = idleConsumerLimit;
+ return (T) this;
+ }
+
/**
* Specifies the limit for idle executions of a receive task, not having
* received any message within its execution. If this limit is reached,
@@ -171,7 +287,11 @@ public class ActiveMQEndpoint {
* setting). There is additional doc available from Spring. The option
* is a int type.
*/
- private Integer idleTaskExecutionLimit;
+ public T idleTaskExecutionLimit(int idleTaskExecutionLimit) {
+ this.idleTaskExecutionLimit = idleTaskExecutionLimit;
+ return (T) this;
+ }
+
/**
* Whether to include all JMSXxxx properties when mapping from JMS to
* Camel Message. Setting this to true will include properties such as
@@ -179,7 +299,11 @@ public class ActiveMQEndpoint {
* headerFilterStrategy then this option does not apply. The option is a
* boolean type.
*/
- private Boolean includeAllJMSXProperties;
+ public T includeAllJMSXProperties(boolean includeAllJMSXProperties) {
+ this.includeAllJMSXProperties = includeAllJMSXProperties;
+ return (T) this;
+ }
+
/**
* Pluggable strategy for encoding and decoding JMS keys so they can be
* compliant with the JMS specification. Camel provides two
@@ -191,34 +315,54 @@ public class ActiveMQEndpoint {
* org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
* using the # notation. The option is a java.lang.String type.
*/
- private Object jmsKeyFormatStrategy;
+ public T jmsKeyFormatStrategy(Object jmsKeyFormatStrategy) {
+ this.jmsKeyFormatStrategy = jmsKeyFormatStrategy;
+ return (T) this;
+ }
+
/**
* Specifies whether Camel should auto map the received JMS message to a
* suited payload type, such as javax.jms.TextMessage to a String etc.
* The option is a boolean type.
*/
- private Boolean mapJmsMessage;
+ public T mapJmsMessage(boolean mapJmsMessage) {
+ this.mapJmsMessage = mapJmsMessage;
+ return (T) this;
+ }
+
/**
* The number of messages per task. -1 is unlimited. If you use a range
* for concurrent consumers (eg min max), then this option can be used
* to set a value to eg 100 to control how fast the consumers will
* shrink when less work is required. The option is a int type.
*/
- private Integer maxMessagesPerTask;
+ public T maxMessagesPerTask(int maxMessagesPerTask) {
+ this.maxMessagesPerTask = maxMessagesPerTask;
+ return (T) this;
+ }
+
/**
* To use a custom Spring
* org.springframework.jms.support.converter.MessageConverter so you can
* be in control how to map to/from a javax.jms.Message. The option is a
* org.springframework.jms.support.converter.MessageConverter type.
*/
- private Object messageConverter;
+ public T messageConverter(Object messageConverter) {
+ this.messageConverter = messageConverter;
+ return (T) this;
+ }
+
/**
* To use the given MessageCreatedStrategy which are invoked when Camel
* creates new instances of javax.jms.Message objects when Camel is
* sending a JMS message. The option is a
* org.apache.camel.component.jms.MessageCreatedStrategy type.
*/
- private Object messageCreatedStrategy;
+ public T messageCreatedStrategy(Object messageCreatedStrategy) {
+ this.messageCreatedStrategy = messageCreatedStrategy;
+ return (T) this;
+ }
+
/**
* When sending, specifies whether message IDs should be added. This is
* just an hint to the JMS Broker. If the JMS provider accepts this
@@ -226,7 +370,11 @@ public class ActiveMQEndpoint {
* provider ignores the hint, the message ID must be set to its normal
* unique value. The option is a boolean type.
*/
- private Boolean messageIdEnabled;
+ public T messageIdEnabled(boolean messageIdEnabled) {
+ this.messageIdEnabled = messageIdEnabled;
+ return (T) this;
+ }
+
/**
* Registry ID of the MessageListenerContainerFactory used to determine
* what
@@ -235,7 +383,12 @@ public class ActiveMQEndpoint {
* consumerType to Custom. The option is a
* org.apache.camel.component.jms.MessageListenerContainerFactory type.
*/
- private Object messageListenerContainerFactory;
+ public T messageListenerContainerFactory(
+ Object messageListenerContainerFactory) {
+ this.messageListenerContainerFactory = messageListenerContainerFactory;
+ return (T) this;
+ }
+
/**
* Specifies whether timestamps should be enabled by default on sending
* messages. This is just an hint to the JMS Broker. If the JMS provider
@@ -243,23 +396,39 @@ public class ActiveMQEndpoint {
* zero; if the provider ignores the hint, the timestamp must be set to
* its normal value. The option is a boolean type.
*/
- private Boolean messageTimestampEnabled;
+ public T messageTimestampEnabled(boolean messageTimestampEnabled) {
+ this.messageTimestampEnabled = messageTimestampEnabled;
+ return (T) this;
+ }
+
/**
* Specifies whether to inhibit the delivery of messages published by
* its own connection. The option is a boolean type.
*/
- private Boolean pubSubNoLocal;
+ public T pubSubNoLocal(boolean pubSubNoLocal) {
+ this.pubSubNoLocal = pubSubNoLocal;
+ return (T) this;
+ }
+
/**
* The timeout for receiving messages (in milliseconds). The option is a
* long type.
*/
- private Long receiveTimeout;
+ public T receiveTimeout(long receiveTimeout) {
+ this.receiveTimeout = receiveTimeout;
+ return (T) this;
+ }
+
/**
* Specifies the interval between recovery attempts, i.e. when a
* connection is being refreshed, in milliseconds. The default is 5000
* ms, that is, 5 seconds. The option is a long type.
*/
- private Long recoveryInterval;
+ public T recoveryInterval(long recoveryInterval) {
+ this.recoveryInterval = recoveryInterval;
+ return (T) this;
+ }
+
/**
* Configures how often Camel should check for timed out Exchanges when
* doing request/reply over JMS. By default Camel checks once per
@@ -267,13 +436,22 @@ public class ActiveMQEndpoint {
* can lower this interval, to check more frequently. The timeout is
* determined by the option requestTimeout. The option is a long type.
*/
- private Long requestTimeoutCheckerInterval;
+ public T requestTimeoutCheckerInterval(
+ long requestTimeoutCheckerInterval) {
+ this.requestTimeoutCheckerInterval = requestTimeoutCheckerInterval;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* If enabled and you are using Request Reply messaging (InOut) and an
* Exchange failed on the consumer side, then the caused Exception will
@@ -287,7 +465,11 @@ public class ActiveMQEndpoint {
* org.apache.camel.RuntimeCamelException when returned to the producer.
* The option is a boolean type.
*/
- private Boolean transferException;
+ public T transferException(boolean transferException) {
+ this.transferException = transferException;
+ return (T) this;
+ }
+
/**
* You can transfer the exchange over the wire instead of just the body
* and headers. The following fields are transferred: In body, Out body,
@@ -298,7 +480,11 @@ public class ActiveMQEndpoint {
* and consumer side, so Camel knows the payloads is an Exchange and not
* a regular payload. The option is a boolean type.
*/
- private Boolean transferExchange;
+ public T transferExchange(boolean transferExchange) {
+ this.transferExchange = transferExchange;
+ return (T) this;
+ }
+
/**
* If enabled and you are using Request Reply messaging (InOut) and an
* Exchange failed with a SOAP fault (not exception) on the consumer
@@ -310,62 +496,108 @@ public class ActiveMQEndpoint {
* this when using Camel components that support faults such as SOAP
* based such as cxf or spring-ws. The option is a boolean type.
*/
- private Boolean transferFault;
+ public T transferFault(boolean transferFault) {
+ this.transferFault = transferFault;
+ return (T) this;
+ }
+
/**
* Specifies whether JMSMessageID should always be used as
* JMSCorrelationID for InOut messages. The option is a boolean type.
*/
- private Boolean useMessageIDAsCorrelationID;
+ public T useMessageIDAsCorrelationID(boolean useMessageIDAsCorrelationID) {
+ this.useMessageIDAsCorrelationID = useMessageIDAsCorrelationID;
+ return (T) this;
+ }
+
/**
* Number of times to wait for provisional correlation id to be updated
* to the actual correlation id when doing request/reply over JMS and
* when the option useMessageIDAsCorrelationID is enabled. The option is
* a int type.
*/
- private Integer waitForProvisionCorrelationToBeUpdatedCounter;
+ public T waitForProvisionCorrelationToBeUpdatedCounter(
+ int waitForProvisionCorrelationToBeUpdatedCounter) {
+ this.waitForProvisionCorrelationToBeUpdatedCounter = waitForProvisionCorrelationToBeUpdatedCounter;
+ return (T) this;
+ }
+
/**
* Interval in millis to sleep each time while waiting for provisional
* correlation id to be updated. The option is a long type.
*/
- private Long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+ public T waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ this.waitForProvisionCorrelationToBeUpdatedThreadSleepingTime = waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+ return (T) this;
+ }
+
/**
* Password to use with the ConnectionFactory. You can also configure
* username/password directly on the ConnectionFactory. The option is a
* java.lang.String type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Username to use with the ConnectionFactory. You can also configure
* username/password directly on the ConnectionFactory. The option is a
* java.lang.String type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
+
/**
* Specifies whether to use transacted mode. The option is a boolean
* type.
*/
- private Boolean transacted;
+ public T transacted(boolean transacted) {
+ this.transacted = transacted;
+ return (T) this;
+ }
+
/**
* If true, Camel will create a JmsTransactionManager, if there is no
* transactionManager injected when option transacted=true. The option
* is a boolean type.
*/
- private Boolean lazyCreateTransactionManager;
+ public T lazyCreateTransactionManager(
+ boolean lazyCreateTransactionManager) {
+ this.lazyCreateTransactionManager = lazyCreateTransactionManager;
+ return (T) this;
+ }
+
/**
* The Spring transaction manager to use. The option is a
* org.springframework.transaction.PlatformTransactionManager type.
*/
- private Object transactionManager;
+ public T transactionManager(Object transactionManager) {
+ this.transactionManager = transactionManager;
+ return (T) this;
+ }
+
/**
* The name of the transaction to use. The option is a java.lang.String
* type.
*/
- private String transactionName;
+ public T transactionName(String transactionName) {
+ this.transactionName = transactionName;
+ return (T) this;
+ }
+
/**
* The timeout value of the transaction (in seconds), if using
* transacted mode. The option is a int type.
*/
- private Integer transactionTimeout;
+ public T transactionTimeout(int transactionTimeout) {
+ this.transactionTimeout = transactionTimeout;
+ return (T) this;
+ }
public String getDestinationType() {
return destinationType;
@@ -735,13 +967,47 @@ public class ActiveMQEndpoint {
}
}
- public static class ActiveMQConsumer extends ActiveMQCommon {
+ public static class ActiveMQConsumer
+ extends
+ ActiveMQCommon<ActiveMQConsumer> {
+ private String acknowledgementModeName;
+ private Boolean asyncConsumer;
+ private Boolean autoStartup;
+ private Boolean bridgeErrorHandler;
+ private Integer cacheLevel;
+ private String cacheLevelName;
+ private Integer concurrentConsumers;
+ private Integer maxConcurrentConsumers;
+ private String replyTo;
+ private Boolean replyToDeliveryPersistent;
+ private String selector;
+ private Boolean subscriptionDurable;
+ private String subscriptionName;
+ private Boolean subscriptionShared;
+ private Boolean acceptMessagesWhileStopping;
+ private Boolean allowReplyManagerQuickStop;
+ private ConsumerType consumerType;
+ private DefaultTaskExecutorType defaultTaskExecutorType;
+ private Boolean eagerLoadingOfProperties;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+ private Boolean exposeListenerSession;
+ private Boolean replyToSameDestinationAllowed;
+ private Object taskExecutor;
+ private LoggingLevel errorHandlerLoggingLevel;
+ private Boolean errorHandlerLogStackTrace;
+
/**
* The JMS acknowledgement name, which is one of: SESSION_TRANSACTED,
* CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. The option
* is a java.lang.String type.
*/
- private String acknowledgementModeName;
+ public ActiveMQConsumer acknowledgementModeName(
+ String acknowledgementModeName) {
+ this.acknowledgementModeName = acknowledgementModeName;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Whether the JmsConsumer processes the Exchange asynchronously. If
* enabled then the JmsConsumer may pickup the next message from the JMS
@@ -754,12 +1020,20 @@ public class ActiveMQEndpoint {
* transaction must be executed synchronously (Camel 3.0 may support
* async transactions). The option is a boolean type.
*/
- private Boolean asyncConsumer;
+ public ActiveMQConsumer asyncConsumer(boolean asyncConsumer) {
+ this.asyncConsumer = asyncConsumer;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies whether the consumer container should auto-startup. The
* option is a boolean type.
*/
- private Boolean autoStartup;
+ public ActiveMQConsumer autoStartup(boolean autoStartup) {
+ this.autoStartup = autoStartup;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -769,12 +1043,20 @@ public class ActiveMQEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public ActiveMQConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Sets the cache level by ID for the underlying JMS resources. See
* cacheLevelName option for more details. The option is a int type.
*/
- private Integer cacheLevel;
+ public ActiveMQConsumer cacheLevel(int cacheLevel) {
+ this.cacheLevel = cacheLevel;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Sets the cache level by name for the underlying JMS resources.
* Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER,
@@ -782,7 +1064,11 @@ public class ActiveMQEndpoint {
* the Spring documentation and Transactions Cache Levels for more
* information. The option is a java.lang.String type.
*/
- private String cacheLevelName;
+ public ActiveMQConsumer cacheLevelName(String cacheLevelName) {
+ this.cacheLevelName = cacheLevelName;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies the default number of concurrent consumers when consuming
* from JMS (not for request/reply over JMS). See also the
@@ -791,7 +1077,11 @@ public class ActiveMQEndpoint {
* replyToConcurrentConsumers is used to control number of concurrent
* consumers on the reply message listener. The option is a int type.
*/
- private Integer concurrentConsumers;
+ public ActiveMQConsumer concurrentConsumers(int concurrentConsumers) {
+ this.concurrentConsumers = concurrentConsumers;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies the maximum number of concurrent consumers when consuming
* from JMS (not for request/reply over JMS). See also the
@@ -800,22 +1090,40 @@ public class ActiveMQEndpoint {
* replyToMaxConcurrentConsumers is used to control number of concurrent
* consumers on the reply message listener. The option is a int type.
*/
- private Integer maxConcurrentConsumers;
+ public ActiveMQConsumer maxConcurrentConsumers(
+ int maxConcurrentConsumers) {
+ this.maxConcurrentConsumers = maxConcurrentConsumers;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Provides an explicit ReplyTo destination, which overrides any
* incoming value of Message.getJMSReplyTo(). The option is a
* java.lang.String type.
*/
- private String replyTo;
+ public ActiveMQConsumer replyTo(String replyTo) {
+ this.replyTo = replyTo;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies whether to use persistent delivery by default for replies.
* The option is a boolean type.
*/
- private Boolean replyToDeliveryPersistent;
+ public ActiveMQConsumer replyToDeliveryPersistent(
+ boolean replyToDeliveryPersistent) {
+ this.replyToDeliveryPersistent = replyToDeliveryPersistent;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Sets the JMS selector to use. The option is a java.lang.String type.
*/
- private String selector;
+ public ActiveMQConsumer selector(String selector) {
+ this.selector = selector;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Set whether to make the subscription durable. The durable
* subscription name to be used can be specified through the
@@ -826,7 +1134,11 @@ public class ActiveMQEndpoint {
* a topic (pub-sub domain), therefore this method switches the
* pubSubDomain flag as well. The option is a boolean type.
*/
- private Boolean subscriptionDurable;
+ public ActiveMQConsumer subscriptionDurable(boolean subscriptionDurable) {
+ this.subscriptionDurable = subscriptionDurable;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Set the name of a subscription to create. To be applied in case of a
* topic (pub-sub domain) with a shared or durable subscription. The
@@ -837,7 +1149,11 @@ public class ActiveMQEndpoint {
* for a shared subscription (which requires JMS 2.0). The option is a
* java.lang.String type.
*/
- private String subscriptionName;
+ public ActiveMQConsumer subscriptionName(String subscriptionName) {
+ this.subscriptionName = subscriptionName;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Set whether to make the subscription shared. The shared subscription
* name to be used can be specified through the subscriptionName
@@ -851,7 +1167,11 @@ public class ActiveMQEndpoint {
* pubSubDomain flag as well. Requires a JMS 2.0 compatible message
* broker. The option is a boolean type.
*/
- private Boolean subscriptionShared;
+ public ActiveMQConsumer subscriptionShared(boolean subscriptionShared) {
+ this.subscriptionShared = subscriptionShared;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies whether the consumer accept messages while it is stopping.
* You may consider enabling this option, if you start and stop JMS
@@ -863,7 +1183,12 @@ public class ActiveMQEndpoint {
* avoid this its recommended to enable this option. The option is a
* boolean type.
*/
- private Boolean acceptMessagesWhileStopping;
+ public ActiveMQConsumer acceptMessagesWhileStopping(
+ boolean acceptMessagesWhileStopping) {
+ this.acceptMessagesWhileStopping = acceptMessagesWhileStopping;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Whether the DefaultMessageListenerContainer used in the reply
* managers for request-reply messaging allow the
@@ -874,7 +1199,12 @@ public class ActiveMQEndpoint {
* but to enable for reply managers you must enable this flag. The
* option is a boolean type.
*/
- private Boolean allowReplyManagerQuickStop;
+ public ActiveMQConsumer allowReplyManagerQuickStop(
+ boolean allowReplyManagerQuickStop) {
+ this.allowReplyManagerQuickStop = allowReplyManagerQuickStop;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* The consumer type to use, which can be one of: Simple, Default, or
* Custom. The consumer type determines which Spring JMS listener to
@@ -888,7 +1218,11 @@ public class ActiveMQEndpoint {
* use. The option is a org.apache.camel.component.jms.ConsumerType
* type.
*/
- private ConsumerType consumerType;
+ public ActiveMQConsumer consumerType(ConsumerType consumerType) {
+ this.consumerType = consumerType;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies what default TaskExecutor type to use in the
* DefaultMessageListenerContainer, for both consumer endpoints and the
@@ -902,7 +1236,12 @@ public class ActiveMQEndpoint {
* decreasing concurrent consumers. The option is a
* org.apache.camel.component.jms.DefaultTaskExecutorType type.
*/
- private DefaultTaskExecutorType defaultTaskExecutorType;
+ public ActiveMQConsumer defaultTaskExecutorType(
+ DefaultTaskExecutorType defaultTaskExecutorType) {
+ this.defaultTaskExecutorType = defaultTaskExecutorType;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Enables eager loading of JMS properties and payload as soon as a
* message is loaded which generally is inefficient as the JMS
@@ -910,7 +1249,12 @@ public class ActiveMQEndpoint {
* issues with the underlying JMS provider and the use of JMS
* properties. The option is a boolean type.
*/
- private Boolean eagerLoadingOfProperties;
+ public ActiveMQConsumer eagerLoadingOfProperties(
+ boolean eagerLoadingOfProperties) {
+ this.eagerLoadingOfProperties = eagerLoadingOfProperties;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -918,40 +1262,72 @@ public class ActiveMQEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public ActiveMQConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public ActiveMQConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Specifies whether the listener session should be exposed when
* consuming messages. The option is a boolean type.
*/
- private Boolean exposeListenerSession;
+ public ActiveMQConsumer exposeListenerSession(
+ boolean exposeListenerSession) {
+ this.exposeListenerSession = exposeListenerSession;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Whether a JMS consumer is allowed to send a reply message to the same
* destination that the consumer is using to consume from. This prevents
* an endless loop by consuming and sending back the same message to
* itself. The option is a boolean type.
*/
- private Boolean replyToSameDestinationAllowed;
+ public ActiveMQConsumer replyToSameDestinationAllowed(
+ boolean replyToSameDestinationAllowed) {
+ this.replyToSameDestinationAllowed = replyToSameDestinationAllowed;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Allows you to specify a custom task executor for consuming messages.
* The option is a org.springframework.core.task.TaskExecutor type.
*/
- private Object taskExecutor;
+ public ActiveMQConsumer taskExecutor(Object taskExecutor) {
+ this.taskExecutor = taskExecutor;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Allows to configure the default errorHandler logging level for
* logging uncaught exceptions. The option is a
* org.apache.camel.LoggingLevel type.
*/
- private LoggingLevel errorHandlerLoggingLevel;
+ public ActiveMQConsumer errorHandlerLoggingLevel(
+ LoggingLevel errorHandlerLoggingLevel) {
+ this.errorHandlerLoggingLevel = errorHandlerLoggingLevel;
+ return (ActiveMQConsumer) this;
+ }
+
/**
* Allows to control whether stacktraces should be logged or not, by the
* default errorHandler. The option is a boolean type.
*/
- private Boolean errorHandlerLogStackTrace;
+ public ActiveMQConsumer errorHandlerLogStackTrace(
+ boolean errorHandlerLogStackTrace) {
+ this.errorHandlerLogStackTrace = errorHandlerLogStackTrace;
+ return (ActiveMQConsumer) this;
+ }
public String getAcknowledgementModeName() {
return acknowledgementModeName;
@@ -1169,18 +1545,52 @@ public class ActiveMQEndpoint {
}
}
- public static class ActiveMQProducer extends ActiveMQCommon {
+ public static class ActiveMQProducer
+ extends
+ ActiveMQCommon<ActiveMQProducer> {
+ private Integer deliveryMode;
+ private Boolean deliveryPersistent;
+ private Boolean explicitQosEnabled;
+ private Boolean formatDateHeadersToIso8601;
+ private Boolean preserveMessageQos;
+ private Integer priority;
+ private Integer replyToConcurrentConsumers;
+ private Integer replyToMaxConcurrentConsumers;
+ private Integer replyToOnTimeoutMaxConcurrentConsumers;
+ private String replyToOverride;
+ private ReplyToType replyToType;
+ private Long requestTimeout;
+ private Long timeToLive;
+ private String allowAdditionalHeaders;
+ private Boolean allowNullBody;
+ private Boolean alwaysCopyMessage;
+ private String correlationProperty;
+ private Boolean disableTimeToLive;
+ private Boolean forceSendOriginalMessage;
+ private Boolean includeSentJMSMessageID;
+ private String replyToCacheLevelName;
+ private String replyToDestinationSelectorName;
+ private Boolean streamMessageTypeEnabled;
+
/**
* Specifies the delivery mode to be used. Possibles values are those
* defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
* = 2. The option is a java.lang.Integer type.
*/
- private Integer deliveryMode;
+ public ActiveMQProducer deliveryMode(Integer deliveryMode) {
+ this.deliveryMode = deliveryMode;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Specifies whether persistent delivery is used by default. The option
* is a boolean type.
*/
- private Boolean deliveryPersistent;
+ public ActiveMQProducer deliveryPersistent(boolean deliveryPersistent) {
+ this.deliveryPersistent = deliveryPersistent;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Set if the deliveryMode, priority or timeToLive qualities of service
* should be used when sending messages. This option is based on
@@ -1190,12 +1600,21 @@ public class ActiveMQEndpoint {
* reading QoS properties exclusively from the Camel In message headers.
* The option is a java.lang.Boolean type.
*/
- private Boolean explicitQosEnabled;
+ public ActiveMQProducer explicitQosEnabled(Boolean explicitQosEnabled) {
+ this.explicitQosEnabled = explicitQosEnabled;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Sets whether date headers should be formatted according to the ISO
* 8601 standard. The option is a boolean type.
*/
- private Boolean formatDateHeadersToIso8601;
+ public ActiveMQProducer formatDateHeadersToIso8601(
+ boolean formatDateHeadersToIso8601) {
+ this.formatDateHeadersToIso8601 = formatDateHeadersToIso8601;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Set to true, if you want to send message using the QoS settings
* specified on the message, instead of the QoS settings on the JMS
@@ -1207,39 +1626,66 @@ public class ActiveMQEndpoint {
* by contrast, will only use options set on the endpoint, and not
* values from the message header. The option is a boolean type.
*/
- private Boolean preserveMessageQos;
+ public ActiveMQProducer preserveMessageQos(boolean preserveMessageQos) {
+ this.preserveMessageQos = preserveMessageQos;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Values greater than 1 specify the message priority when sending
* (where 0 is the lowest priority and 9 is the highest). The
* explicitQosEnabled option must also be enabled in order for this
* option to have any effect. The option is a int type.
*/
- private Integer priority;
+ public ActiveMQProducer priority(int priority) {
+ this.priority = priority;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Specifies the default number of concurrent consumers when doing
* request/reply over JMS. See also the maxMessagesPerTask option to
* control dynamic scaling up/down of threads. The option is a int type.
*/
- private Integer replyToConcurrentConsumers;
+ public ActiveMQProducer replyToConcurrentConsumers(
+ int replyToConcurrentConsumers) {
+ this.replyToConcurrentConsumers = replyToConcurrentConsumers;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Specifies the maximum number of concurrent consumers when using
* request/reply over JMS. See also the maxMessagesPerTask option to
* control dynamic scaling up/down of threads. The option is a int type.
*/
- private Integer replyToMaxConcurrentConsumers;
+ public ActiveMQProducer replyToMaxConcurrentConsumers(
+ int replyToMaxConcurrentConsumers) {
+ this.replyToMaxConcurrentConsumers = replyToMaxConcurrentConsumers;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Specifies the maximum number of concurrent consumers for continue
* routing when timeout occurred when using request/reply over JMS. The
* option is a int type.
*/
- private Integer replyToOnTimeoutMaxConcurrentConsumers;
+ public ActiveMQProducer replyToOnTimeoutMaxConcurrentConsumers(
+ int replyToOnTimeoutMaxConcurrentConsumers) {
+ this.replyToOnTimeoutMaxConcurrentConsumers = replyToOnTimeoutMaxConcurrentConsumers;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Provides an explicit ReplyTo destination in the JMS message, which
* overrides the setting of replyTo. It is useful if you want to forward
* the message to a remote Queue and receive the reply message from the
* ReplyTo destination. The option is a java.lang.String type.
*/
- private String replyToOverride;
+ public ActiveMQProducer replyToOverride(String replyToOverride) {
+ this.replyToOverride = replyToOverride;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Allows for explicitly specifying which kind of strategy to use for
* replyTo queues when doing request/reply over JMS. Possible values
@@ -1252,7 +1698,11 @@ public class ActiveMQEndpoint {
* lower performance than its alternatives Temporary and Exclusive. The
* option is a org.apache.camel.component.jms.ReplyToType type.
*/
- private ReplyToType replyToType;
+ public ActiveMQProducer replyToType(ReplyToType replyToType) {
+ this.replyToType = replyToType;
+ return (ActiveMQProducer) this;
+ }
+
/**
* The timeout for waiting for a reply when using the InOut Exchange
* Pattern (in milliseconds). The default is 20 seconds. You can include
@@ -1261,12 +1711,20 @@ public class ActiveMQEndpoint {
* timeout values. See also the requestTimeoutCheckerInterval option.
* The option is a long type.
*/
- private Long requestTimeout;
+ public ActiveMQProducer requestTimeout(long requestTimeout) {
+ this.requestTimeout = requestTimeout;
+ return (ActiveMQProducer) this;
+ }
+
/**
* When sending messages, specifies the time-to-live of the message (in
* milliseconds). The option is a long type.
*/
- private Long timeToLive;
+ public ActiveMQProducer timeToLive(long timeToLive) {
+ this.timeToLive = timeToLive;
+ return (ActiveMQProducer) this;
+ }
+
/**
* This option is used to allow additional headers which may have values
* that are invalid according to JMS specification. For example some
@@ -1276,13 +1734,22 @@ public class ActiveMQEndpoint {
* use as suffix for wildcard matching. The option is a java.lang.String
* type.
*/
- private String allowAdditionalHeaders;
+ public ActiveMQProducer allowAdditionalHeaders(
+ String allowAdditionalHeaders) {
+ this.allowAdditionalHeaders = allowAdditionalHeaders;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Whether to allow sending messages with no body. If this option is
* false and the message body is null, then an JMSException is thrown.
* The option is a boolean type.
*/
- private Boolean allowNullBody;
+ public ActiveMQProducer allowNullBody(boolean allowNullBody) {
+ this.allowNullBody = allowNullBody;
+ return (ActiveMQProducer) this;
+ }
+
/**
* If true, Camel will always make a JMS message copy of the message
* when it is passed to the producer for sending. Copying the message is
@@ -1291,7 +1758,11 @@ public class ActiveMQEndpoint {
* the alwaysCopyMessage option to true, if a
* replyToDestinationSelectorName is set). The option is a boolean type.
*/
- private Boolean alwaysCopyMessage;
+ public ActiveMQProducer alwaysCopyMessage(boolean alwaysCopyMessage) {
+ this.alwaysCopyMessage = alwaysCopyMessage;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Use this JMS property to correlate messages in InOut exchange pattern
* (request-reply) instead of JMSCorrelationID property. This allows you
@@ -1301,7 +1772,11 @@ public class ActiveMQEndpoint {
* generated if not supplied in the header of the message under the same
* name. The option is a java.lang.String type.
*/
- private String correlationProperty;
+ public ActiveMQProducer correlationProperty(String correlationProperty) {
+ this.correlationProperty = correlationProperty;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Use this option to force disabling time to live. For example when you
* do request/reply over JMS, then Camel will by default use the
@@ -1313,14 +1788,23 @@ public class ActiveMQEndpoint {
* on the receiver system. See below in section About time to live for
* more details. The option is a boolean type.
*/
- private Boolean disableTimeToLive;
+ public ActiveMQProducer disableTimeToLive(boolean disableTimeToLive) {
+ this.disableTimeToLive = disableTimeToLive;
+ return (ActiveMQProducer) this;
+ }
+
/**
* When using mapJmsMessage=false Camel will create a new JMS message to
* send to a new JMS destination if you touch the headers (get or set)
* during the route. Set this option to true to force Camel to send the
* original JMS message that was received. The option is a boolean type.
*/
- private Boolean forceSendOriginalMessage;
+ public ActiveMQProducer forceSendOriginalMessage(
+ boolean forceSendOriginalMessage) {
+ this.forceSendOriginalMessage = forceSendOriginalMessage;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Only applicable when sending to JMS destination using InOnly (eg fire
* and forget). Enabling this option will enrich the Camel Exchange with
@@ -1328,7 +1812,12 @@ public class ActiveMQEndpoint {
* message was sent to the JMS destination. The option is a boolean
* type.
*/
- private Boolean includeSentJMSMessageID;
+ public ActiveMQProducer includeSentJMSMessageID(
+ boolean includeSentJMSMessageID) {
+ this.includeSentJMSMessageID = includeSentJMSMessageID;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Sets the cache level by name for the reply consumer when doing
* request/reply over JMS. This option only applies when using fixed
@@ -1341,14 +1830,24 @@ public class ActiveMQEndpoint {
* value such as CACHE_CONSUMER or CACHE_SESSION. The option is a
* java.lang.String type.
*/
- private String replyToCacheLevelName;
+ public ActiveMQProducer replyToCacheLevelName(
+ String replyToCacheLevelName) {
+ this.replyToCacheLevelName = replyToCacheLevelName;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Sets the JMS Selector using the fixed name to be used so you can
* filter out your own replies from the others when using a shared queue
* (that is, if you are not using a temporary reply queue). The option
* is a java.lang.String type.
*/
- private String replyToDestinationSelectorName;
+ public ActiveMQProducer replyToDestinationSelectorName(
+ String replyToDestinationSelectorName) {
+ this.replyToDestinationSelectorName = replyToDestinationSelectorName;
+ return (ActiveMQProducer) this;
+ }
+
/**
* Sets whether StreamMessage type is enabled or not. Message payloads
* of streaming kind such as files, InputStream, etc will either by sent
@@ -1359,7 +1858,11 @@ public class ActiveMQEndpoint {
* chunk is then written to the StreamMessage until no more data. The
* option is a boolean type.
*/
- private Boolean streamMessageTypeEnabled;
+ public ActiveMQProducer streamMessageTypeEnabled(
+ boolean streamMessageTypeEnabled) {
+ this.streamMessageTypeEnabled = streamMessageTypeEnabled;
+ return (ActiveMQProducer) this;
+ }
public Integer getDeliveryMode() {
return deliveryMode;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java
index 29c16dc..5c641d0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java
@@ -30,37 +30,73 @@ import org.apache.camel.spi.HeaderFilterStrategy;
public class AhcEndpoint {
- public static class AhcCommon extends EndpointConfiguration {
+ public static class AhcCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private URI httpUri;
+ private Boolean bridgeEndpoint;
+ private Integer bufferSize;
+ private HeaderFilterStrategy headerFilterStrategy;
+ private Boolean throwExceptionOnFailure;
+ private Boolean transferException;
+ private Boolean basicPropertyBinding;
+ private Object binding;
+ private Object clientConfig;
+ private Map<String, Object> clientConfigOptions;
+ private Boolean synchronous;
+ private Map<String, Object> clientConfigRealmOptions;
+ private Object sslContextParameters;
+
/**
* The URI to use such as http://hostname:port/path. The option is a
* java.net.URI type.
*/
- private URI httpUri;
+ public T httpUri(URI httpUri) {
+ this.httpUri = httpUri;
+ return (T) this;
+ }
+
/**
* If the option is true, then the Exchange.HTTP_URI header is ignored,
* and use the endpoint's URI for request. You may also set the
* throwExceptionOnFailure to be false to let the AhcProducer send all
* the fault response back. The option is a boolean type.
*/
- private Boolean bridgeEndpoint;
+ public T bridgeEndpoint(boolean bridgeEndpoint) {
+ this.bridgeEndpoint = bridgeEndpoint;
+ return (T) this;
+ }
+
/**
* The initial in-memory buffer size used when transferring data between
* Camel and AHC Client. The option is a int type.
*/
- private Integer bufferSize;
+ public T bufferSize(int bufferSize) {
+ this.bufferSize = bufferSize;
+ return (T) this;
+ }
+
/**
* To use a custom HeaderFilterStrategy to filter header to and from
* Camel message. The option is a
* org.apache.camel.spi.HeaderFilterStrategy type.
*/
- private HeaderFilterStrategy headerFilterStrategy;
+ public T headerFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ return (T) this;
+ }
+
/**
* Option to disable throwing the AhcOperationFailedException in case of
* failed responses from the remote server. This allows you to get all
* responses regardless of the HTTP status code. The option is a boolean
* type.
*/
- private Boolean throwExceptionOnFailure;
+ public T throwExceptionOnFailure(boolean throwExceptionOnFailure) {
+ this.throwExceptionOnFailure = throwExceptionOnFailure;
+ return (T) this;
+ }
+
/**
* If enabled and an Exchange failed processing on the consumer side,
* and if the caused Exception was send back serialized in the response
@@ -73,43 +109,72 @@ public class AhcEndpoint {
* to Java and that can be a potential security risk. The option is a
* boolean type.
*/
- private Boolean transferException;
+ public T transferException(boolean transferException) {
+ this.transferException = transferException;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* To use a custom AhcBinding which allows to control how to bind
* between AHC and Camel. The option is a
* org.apache.camel.component.ahc.AhcBinding type.
*/
- private Object binding;
+ public T binding(Object binding) {
+ this.binding = binding;
+ return (T) this;
+ }
+
/**
* To configure the AsyncHttpClient to use a custom
* com.ning.http.client.AsyncHttpClientConfig instance. The option is a
* org.asynchttpclient.AsyncHttpClientConfig type.
*/
- private Object clientConfig;
+ public T clientConfig(Object clientConfig) {
+ this.clientConfig = clientConfig;
+ return (T) this;
+ }
+
/**
* To configure the AsyncHttpClientConfig using the key/values from the
* Map. The option is a java.util.Map<java.lang.String,java.lang.Object>
* type.
*/
- private Map<String, Object> clientConfigOptions;
+ public T clientConfigOptions(Map<String, Object> clientConfigOptions) {
+ this.clientConfigOptions = clientConfigOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* To configure the AsyncHttpClientConfig Realm using the key/values
* from the Map. The option is a
* java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> clientConfigRealmOptions;
+ public T clientConfigRealmOptions(
+ Map<String, Object> clientConfigRealmOptions) {
+ this.clientConfigRealmOptions = clientConfigRealmOptions;
+ return (T) this;
+ }
+
/**
* Reference to a org.apache.camel.support.jsse.SSLContextParameters in
* the Registry. This reference overrides any configured
@@ -119,7 +184,10 @@ public class AhcEndpoint {
* clientConfig option at the endpoint or component level. The option is
* a org.apache.camel.support.jsse.SSLContextParameters type.
*/
- private Object sslContextParameters;
+ public T sslContextParameters(Object sslContextParameters) {
+ this.sslContextParameters = sslContextParameters;
+ return (T) this;
+ }
public URI getHttpUri() {
return httpUri;
@@ -229,21 +297,31 @@ public class AhcEndpoint {
}
}
- public static class AhcConsumer extends AhcCommon {
+ public static class AhcConsumer extends AhcCommon<AhcConsumer> {
}
- public static class AhcProducer extends AhcCommon {
+ public static class AhcProducer extends AhcCommon<AhcProducer> {
+ private Boolean connectionClose;
+ private Object cookieHandler;
+
/**
* Define if the Connection Close header has to be added to HTTP
* Request. This parameter is false by default. The option is a boolean
* type.
*/
- private Boolean connectionClose;
+ public AhcProducer connectionClose(boolean connectionClose) {
+ this.connectionClose = connectionClose;
+ return (AhcProducer) this;
+ }
+
/**
* Configure a cookie handler to maintain a HTTP session. The option is
* a org.apache.camel.http.common.cookie.CookieHandler type.
*/
- private Object cookieHandler;
+ public AhcProducer cookieHandler(Object cookieHandler) {
+ this.cookieHandler = cookieHandler;
+ return (AhcProducer) this;
+ }
public Boolean getConnectionClose() {
return connectionClose;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java
index b999659..1cb99cc 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java
@@ -35,29 +35,51 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
public class ApnsEndpoint {
- public static class ApnsCommon extends EndpointConfiguration {
+ public static class ApnsCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String name;
+ private String tokens;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Name of the endpoint. The option is a java.lang.String type.
*/
- private String name;
+ public T name(String name) {
+ this.name = name;
+ return (T) this;
+ }
+
/**
* Configure this property in case you want to statically declare tokens
* related to devices you want to notify. Tokens are separated by comma.
* The option is a java.lang.String type.
*/
- private String tokens;
+ public T tokens(String tokens) {
+ this.tokens = tokens;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getName() {
return name;
@@ -92,7 +114,26 @@ public class ApnsEndpoint {
}
}
- public static class ApnsConsumer extends ApnsCommon {
+ public static class ApnsConsumer extends ApnsCommon<ApnsConsumer> {
+ private Boolean bridgeErrorHandler;
+ private Boolean sendEmptyMessageWhenIdle;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+ private PollingConsumerPollStrategy pollStrategy;
+ private Integer backoffErrorThreshold;
+ private Integer backoffIdleThreshold;
+ private Integer backoffMultiplier;
+ private Long delay;
+ private Boolean greedy;
+ private Long initialDelay;
+ private LoggingLevel runLoggingLevel;
+ private ScheduledExecutorService scheduledExecutorService;
+ private ScheduledPollConsumerScheduler scheduler;
+ private Map<String, Object> schedulerProperties;
+ private Boolean startScheduler;
+ private TimeUnit timeUnit;
+ private Boolean useFixedDelay;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -102,13 +143,22 @@ public class ApnsEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public ApnsConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (ApnsConsumer) this;
+ }
+
/**
* If the polling consumer did not poll any files, you can enable this
* option to send an empty message (no body) instead. The option is a
* boolean type.
*/
- private Boolean sendEmptyMessageWhenIdle;
+ public ApnsConsumer sendEmptyMessageWhenIdle(
+ boolean sendEmptyMessageWhenIdle) {
+ this.sendEmptyMessageWhenIdle = sendEmptyMessageWhenIdle;
+ return (ApnsConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -116,12 +166,20 @@ public class ApnsEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public ApnsConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (ApnsConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public ApnsConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (ApnsConsumer) this;
+ }
+
/**
* A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
* you to provide your custom implementation to control error handling
@@ -129,18 +187,31 @@ public class ApnsEndpoint {
* been created and being routed in Camel. The option is a
* org.apache.camel.spi.PollingConsumerPollStrategy type.
*/
- private PollingConsumerPollStrategy pollStrategy;
+ public ApnsConsumer pollStrategy(
+ PollingConsumerPollStrategy pollStrategy) {
+ this.pollStrategy = pollStrategy;
+ return (ApnsConsumer) this;
+ }
+
/**
* The number of subsequent error polls (failed due some error) that
* should happen before the backoffMultipler should kick-in. The option
* is a int type.
*/
- private Integer backoffErrorThreshold;
+ public ApnsConsumer backoffErrorThreshold(int backoffErrorThreshold) {
+ this.backoffErrorThreshold = backoffErrorThreshold;
+ return (ApnsConsumer) this;
+ }
+
/**
* The number of subsequent idle polls that should happen before the
* backoffMultipler should kick-in. The option is a int type.
*/
- private Integer backoffIdleThreshold;
+ public ApnsConsumer backoffIdleThreshold(int backoffIdleThreshold) {
+ this.backoffIdleThreshold = backoffIdleThreshold;
+ return (ApnsConsumer) this;
+ }
+
/**
* To let the scheduled polling consumer backoff if there has been a
* number of subsequent idles/errors in a row. The multiplier is then
@@ -149,66 +220,111 @@ public class ApnsEndpoint {
* backoffIdleThreshold and/or backoffErrorThreshold must also be
* configured. The option is a int type.
*/
- private Integer backoffMultiplier;
+ public ApnsConsumer backoffMultiplier(int backoffMultiplier) {
+ this.backoffMultiplier = backoffMultiplier;
+ return (ApnsConsumer) this;
+ }
+
/**
* Milliseconds before the next poll. You can also specify time values
* using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long delay;
+ public ApnsConsumer delay(long delay) {
+ this.delay = delay;
+ return (ApnsConsumer) this;
+ }
+
/**
* If greedy is enabled, then the ScheduledPollConsumer will run
* immediately again, if the previous run polled 1 or more messages. The
* option is a boolean type.
*/
- private Boolean greedy;
+ public ApnsConsumer greedy(boolean greedy) {
+ this.greedy = greedy;
+ return (ApnsConsumer) this;
+ }
+
/**
* Milliseconds before the first poll starts. You can also specify time
* values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long initialDelay;
+ public ApnsConsumer initialDelay(long initialDelay) {
+ this.initialDelay = initialDelay;
+ return (ApnsConsumer) this;
+ }
+
/**
* The consumer logs a start/complete log line when it polls. This
* option allows you to configure the logging level for that. The option
* is a org.apache.camel.LoggingLevel type.
*/
- private LoggingLevel runLoggingLevel;
+ public ApnsConsumer runLoggingLevel(LoggingLevel runLoggingLevel) {
+ this.runLoggingLevel = runLoggingLevel;
+ return (ApnsConsumer) this;
+ }
+
/**
* Allows for configuring a custom/shared thread pool to use for the
* consumer. By default each consumer has its own single threaded thread
* pool. The option is a java.util.concurrent.ScheduledExecutorService
* type.
*/
- private ScheduledExecutorService scheduledExecutorService;
+ public ApnsConsumer scheduledExecutorService(
+ ScheduledExecutorService scheduledExecutorService) {
+ this.scheduledExecutorService = scheduledExecutorService;
+ return (ApnsConsumer) this;
+ }
+
/**
* To use a cron scheduler from either camel-spring or camel-quartz2
* component. The option is a
* org.apache.camel.spi.ScheduledPollConsumerScheduler type.
*/
- private ScheduledPollConsumerScheduler scheduler;
+ public ApnsConsumer scheduler(ScheduledPollConsumerScheduler scheduler) {
+ this.scheduler = scheduler;
+ return (ApnsConsumer) this;
+ }
+
/**
* To configure additional properties when using a custom scheduler or
* any of the Quartz2, Spring based scheduler. The option is a
* java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> schedulerProperties;
+ public ApnsConsumer schedulerProperties(
+ Map<String, Object> schedulerProperties) {
+ this.schedulerProperties = schedulerProperties;
+ return (ApnsConsumer) this;
+ }
+
/**
* Whether the scheduler should be auto started. The option is a boolean
* type.
*/
- private Boolean startScheduler;
+ public ApnsConsumer startScheduler(boolean startScheduler) {
+ this.startScheduler = startScheduler;
+ return (ApnsConsumer) this;
+ }
+
/**
* Time unit for initialDelay and delay options. The option is a
* java.util.concurrent.TimeUnit type.
*/
- private TimeUnit timeUnit;
+ public ApnsConsumer timeUnit(TimeUnit timeUnit) {
+ this.timeUnit = timeUnit;
+ return (ApnsConsumer) this;
+ }
+
/**
* Controls if fixed delay or fixed rate is used. See
* ScheduledExecutorService in JDK for details. The option is a boolean
* type.
*/
- private Boolean useFixedDelay;
+ public ApnsConsumer useFixedDelay(boolean useFixedDelay) {
+ this.useFixedDelay = useFixedDelay;
+ return (ApnsConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -357,6 +473,6 @@ public class ApnsEndpoint {
}
}
- public static class ApnsProducer extends ApnsCommon {
+ public static class ApnsProducer extends ApnsCommon<ApnsProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java
index 9f79080..527108f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java
@@ -29,36 +29,68 @@ import org.apache.camel.spi.ExceptionHandler;
public class AsteriskEndpoint {
- public static class AsteriskCommon extends EndpointConfiguration {
+ public static class AsteriskCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String name;
+ private String hostname;
+ private String password;
+ private String username;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Logical name. The option is a java.lang.String type.
*/
- private String name;
+ public T name(String name) {
+ this.name = name;
+ return (T) this;
+ }
+
/**
* The hostname of the asterisk server. The option is a java.lang.String
* type.
*/
- private String hostname;
+ public T hostname(String hostname) {
+ this.hostname = hostname;
+ return (T) this;
+ }
+
/**
* Login password. The option is a java.lang.String type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Login username. The option is a java.lang.String type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getName() {
return name;
@@ -109,7 +141,13 @@ public class AsteriskEndpoint {
}
}
- public static class AsteriskConsumer extends AsteriskCommon {
+ public static class AsteriskConsumer
+ extends
+ AsteriskCommon<AsteriskConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -119,7 +157,11 @@ public class AsteriskEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AsteriskConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AsteriskConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -127,12 +169,20 @@ public class AsteriskEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AsteriskConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AsteriskConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AsteriskConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AsteriskConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -159,13 +209,20 @@ public class AsteriskEndpoint {
}
}
- public static class AsteriskProducer extends AsteriskCommon {
+ public static class AsteriskProducer
+ extends
+ AsteriskCommon<AsteriskProducer> {
+ private AsteriskAction action;
+
/**
* What action to perform such as getting queue status, sip peers or
* extension state. The option is a
* org.apache.camel.component.asterisk.AsteriskAction type.
*/
- private AsteriskAction action;
+ public AsteriskProducer action(AsteriskAction action) {
+ this.action = action;
+ return (AsteriskProducer) this;
+ }
public AsteriskAction getAction() {
return action;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java
index edadf97..76a8ae5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java
@@ -29,61 +29,123 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtmosEndpoint {
- public static class AtmosCommon extends EndpointConfiguration {
+ public static class AtmosCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String name;
+ private AtmosOperation operation;
+ private Boolean enableSslValidation;
+ private String fullTokenId;
+ private String localPath;
+ private String newRemotePath;
+ private String query;
+ private String remotePath;
+ private String secretKey;
+ private String uri;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Atmos name. The option is a java.lang.String type.
*/
- private String name;
+ public T name(String name) {
+ this.name = name;
+ return (T) this;
+ }
+
/**
* Operation to perform. The option is a
* org.apache.camel.component.atmos.util.AtmosOperation type.
*/
- private AtmosOperation operation;
+ public T operation(AtmosOperation operation) {
+ this.operation = operation;
+ return (T) this;
+ }
+
/**
* Atmos SSL validation. The option is a boolean type.
*/
- private Boolean enableSslValidation;
+ public T enableSslValidation(boolean enableSslValidation) {
+ this.enableSslValidation = enableSslValidation;
+ return (T) this;
+ }
+
/**
* Atmos client fullTokenId. The option is a java.lang.String type.
*/
- private String fullTokenId;
+ public T fullTokenId(String fullTokenId) {
+ this.fullTokenId = fullTokenId;
+ return (T) this;
+ }
+
/**
* Local path to put files. The option is a java.lang.String type.
*/
- private String localPath;
+ public T localPath(String localPath) {
+ this.localPath = localPath;
+ return (T) this;
+ }
+
/**
* New path on Atmos when moving files. The option is a java.lang.String
* type.
*/
- private String newRemotePath;
+ public T newRemotePath(String newRemotePath) {
+ this.newRemotePath = newRemotePath;
+ return (T) this;
+ }
+
/**
* Search query on Atmos. The option is a java.lang.String type.
*/
- private String query;
+ public T query(String query) {
+ this.query = query;
+ return (T) this;
+ }
+
/**
* Where to put files on Atmos. The option is a java.lang.String type.
*/
- private String remotePath;
+ public T remotePath(String remotePath) {
+ this.remotePath = remotePath;
+ return (T) this;
+ }
+
/**
* Atmos shared secret. The option is a java.lang.String type.
*/
- private String secretKey;
+ public T secretKey(String secretKey) {
+ this.secretKey = secretKey;
+ return (T) this;
+ }
+
/**
* Atomos server uri. The option is a java.lang.String type.
*/
- private String uri;
+ public T uri(String uri) {
+ this.uri = uri;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getName() {
return name;
@@ -182,7 +244,11 @@ public class AtmosEndpoint {
}
}
- public static class AtmosConsumer extends AtmosCommon {
+ public static class AtmosConsumer extends AtmosCommon<AtmosConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -192,7 +258,11 @@ public class AtmosEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtmosConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtmosConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -200,12 +270,19 @@ public class AtmosEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtmosConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtmosConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtmosConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtmosConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -232,7 +309,7 @@ public class AtmosEndpoint {
}
}
- public static class AtmosProducer extends AtmosCommon {
+ public static class AtmosProducer extends AtmosCommon<AtmosProducer> {
}
public static enum AtmosOperation {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java
index d737a2c..7ebf88e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java
@@ -36,67 +36,124 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
public class AtomEndpoint {
- public static class AtomCommon extends EndpointConfiguration {
+ public static class AtomCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String feedUri;
+ private Boolean feedHeader;
+ private Boolean filter;
+ private Date lastUpdate;
+ private String password;
+ private Boolean sortEntries;
+ private Boolean splitEntries;
+ private Boolean throttleEntries;
+ private String username;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* The URI to the feed to poll. The option is a java.lang.String type.
*/
- private String feedUri;
+ public T feedUri(String feedUri) {
+ this.feedUri = feedUri;
+ return (T) this;
+ }
+
/**
* Sets whether to add the feed object as a header. The option is a
* boolean type.
*/
- private Boolean feedHeader;
+ public T feedHeader(boolean feedHeader) {
+ this.feedHeader = feedHeader;
+ return (T) this;
+ }
+
/**
* Sets whether to use filtering or not of the entries. The option is a
* boolean type.
*/
- private Boolean filter;
+ public T filter(boolean filter) {
+ this.filter = filter;
+ return (T) this;
+ }
+
/**
* Sets the timestamp to be used for filtering entries from the atom
* feeds. This options is only in conjunction with the splitEntries. The
* option is a java.util.Date type.
*/
- private Date lastUpdate;
+ public T lastUpdate(Date lastUpdate) {
+ this.lastUpdate = lastUpdate;
+ return (T) this;
+ }
+
/**
* Sets the password to be used for basic authentication when polling
* from a HTTP feed. The option is a java.lang.String type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Sets whether to sort entries by published date. Only works when
* splitEntries = true. The option is a boolean type.
*/
- private Boolean sortEntries;
+ public T sortEntries(boolean sortEntries) {
+ this.sortEntries = sortEntries;
+ return (T) this;
+ }
+
/**
* Sets whether or not entries should be sent individually or whether
* the entire feed should be sent as a single message. The option is a
* boolean type.
*/
- private Boolean splitEntries;
+ public T splitEntries(boolean splitEntries) {
+ this.splitEntries = splitEntries;
+ return (T) this;
+ }
+
/**
* Sets whether all entries identified in a single feed poll should be
* delivered immediately. If true, only one entry is processed per
* consumer.delay. Only applicable when splitEntries = true. The option
* is a boolean type.
*/
- private Boolean throttleEntries;
+ public T throttleEntries(boolean throttleEntries) {
+ this.throttleEntries = throttleEntries;
+ return (T) this;
+ }
+
/**
* Sets the username to be used for basic authentication when polling
* from a HTTP feed. The option is a java.lang.String type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getFeedUri() {
return feedUri;
@@ -187,7 +244,26 @@ public class AtomEndpoint {
}
}
- public static class AtomConsumer extends AtomCommon {
+ public static class AtomConsumer extends AtomCommon<AtomConsumer> {
+ private Boolean bridgeErrorHandler;
+ private Boolean sendEmptyMessageWhenIdle;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+ private PollingConsumerPollStrategy pollStrategy;
+ private Integer backoffErrorThreshold;
+ private Integer backoffIdleThreshold;
+ private Integer backoffMultiplier;
+ private Long delay;
+ private Boolean greedy;
+ private Long initialDelay;
+ private LoggingLevel runLoggingLevel;
+ private ScheduledExecutorService scheduledExecutorService;
+ private ScheduledPollConsumerScheduler scheduler;
+ private Map<String, Object> schedulerProperties;
+ private Boolean startScheduler;
+ private TimeUnit timeUnit;
+ private Boolean useFixedDelay;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -197,13 +273,22 @@ public class AtomEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomConsumer) this;
+ }
+
/**
* If the polling consumer did not poll any files, you can enable this
* option to send an empty message (no body) instead. The option is a
* boolean type.
*/
- private Boolean sendEmptyMessageWhenIdle;
+ public AtomConsumer sendEmptyMessageWhenIdle(
+ boolean sendEmptyMessageWhenIdle) {
+ this.sendEmptyMessageWhenIdle = sendEmptyMessageWhenIdle;
+ return (AtomConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -211,12 +296,20 @@ public class AtomEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomConsumer) this;
+ }
+
/**
* A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
* you to provide your custom implementation to control error handling
@@ -224,18 +317,31 @@ public class AtomEndpoint {
* been created and being routed in Camel. The option is a
* org.apache.camel.spi.PollingConsumerPollStrategy type.
*/
- private PollingConsumerPollStrategy pollStrategy;
+ public AtomConsumer pollStrategy(
+ PollingConsumerPollStrategy pollStrategy) {
+ this.pollStrategy = pollStrategy;
+ return (AtomConsumer) this;
+ }
+
/**
* The number of subsequent error polls (failed due some error) that
* should happen before the backoffMultipler should kick-in. The option
* is a int type.
*/
- private Integer backoffErrorThreshold;
+ public AtomConsumer backoffErrorThreshold(int backoffErrorThreshold) {
+ this.backoffErrorThreshold = backoffErrorThreshold;
+ return (AtomConsumer) this;
+ }
+
/**
* The number of subsequent idle polls that should happen before the
* backoffMultipler should kick-in. The option is a int type.
*/
- private Integer backoffIdleThreshold;
+ public AtomConsumer backoffIdleThreshold(int backoffIdleThreshold) {
+ this.backoffIdleThreshold = backoffIdleThreshold;
+ return (AtomConsumer) this;
+ }
+
/**
* To let the scheduled polling consumer backoff if there has been a
* number of subsequent idles/errors in a row. The multiplier is then
@@ -244,66 +350,111 @@ public class AtomEndpoint {
* backoffIdleThreshold and/or backoffErrorThreshold must also be
* configured. The option is a int type.
*/
- private Integer backoffMultiplier;
+ public AtomConsumer backoffMultiplier(int backoffMultiplier) {
+ this.backoffMultiplier = backoffMultiplier;
+ return (AtomConsumer) this;
+ }
+
/**
* Milliseconds before the next poll. You can also specify time values
* using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long delay;
+ public AtomConsumer delay(long delay) {
+ this.delay = delay;
+ return (AtomConsumer) this;
+ }
+
/**
* If greedy is enabled, then the ScheduledPollConsumer will run
* immediately again, if the previous run polled 1 or more messages. The
* option is a boolean type.
*/
- private Boolean greedy;
+ public AtomConsumer greedy(boolean greedy) {
+ this.greedy = greedy;
+ return (AtomConsumer) this;
+ }
+
/**
* Milliseconds before the first poll starts. You can also specify time
* values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long initialDelay;
+ public AtomConsumer initialDelay(long initialDelay) {
+ this.initialDelay = initialDelay;
+ return (AtomConsumer) this;
+ }
+
/**
* The consumer logs a start/complete log line when it polls. This
* option allows you to configure the logging level for that. The option
* is a org.apache.camel.LoggingLevel type.
*/
- private LoggingLevel runLoggingLevel;
+ public AtomConsumer runLoggingLevel(LoggingLevel runLoggingLevel) {
+ this.runLoggingLevel = runLoggingLevel;
+ return (AtomConsumer) this;
+ }
+
/**
* Allows for configuring a custom/shared thread pool to use for the
* consumer. By default each consumer has its own single threaded thread
* pool. The option is a java.util.concurrent.ScheduledExecutorService
* type.
*/
- private ScheduledExecutorService scheduledExecutorService;
+ public AtomConsumer scheduledExecutorService(
+ ScheduledExecutorService scheduledExecutorService) {
+ this.scheduledExecutorService = scheduledExecutorService;
+ return (AtomConsumer) this;
+ }
+
/**
* To use a cron scheduler from either camel-spring or camel-quartz2
* component. The option is a
* org.apache.camel.spi.ScheduledPollConsumerScheduler type.
*/
- private ScheduledPollConsumerScheduler scheduler;
+ public AtomConsumer scheduler(ScheduledPollConsumerScheduler scheduler) {
+ this.scheduler = scheduler;
+ return (AtomConsumer) this;
+ }
+
/**
* To configure additional properties when using a custom scheduler or
* any of the Quartz2, Spring based scheduler. The option is a
* java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> schedulerProperties;
+ public AtomConsumer schedulerProperties(
+ Map<String, Object> schedulerProperties) {
+ this.schedulerProperties = schedulerProperties;
+ return (AtomConsumer) this;
+ }
+
/**
* Whether the scheduler should be auto started. The option is a boolean
* type.
*/
- private Boolean startScheduler;
+ public AtomConsumer startScheduler(boolean startScheduler) {
+ this.startScheduler = startScheduler;
+ return (AtomConsumer) this;
+ }
+
/**
* Time unit for initialDelay and delay options. The option is a
* java.util.concurrent.TimeUnit type.
*/
- private TimeUnit timeUnit;
+ public AtomConsumer timeUnit(TimeUnit timeUnit) {
+ this.timeUnit = timeUnit;
+ return (AtomConsumer) this;
+ }
+
/**
* Controls if fixed delay or fixed rate is used. See
* ScheduledExecutorService in JDK for details. The option is a boolean
* type.
*/
- private Boolean useFixedDelay;
+ public AtomConsumer useFixedDelay(boolean useFixedDelay) {
+ this.useFixedDelay = useFixedDelay;
+ return (AtomConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -452,6 +603,6 @@ public class AtomEndpoint {
}
}
- public static class AtomProducer extends AtomCommon {
+ public static class AtomProducer extends AtomCommon<AtomProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java
index ff8f65d..a1b3f5d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java
@@ -32,92 +32,179 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtomixMapEndpoint {
- public static class AtomixMapCommon extends EndpointConfiguration {
+ public static class AtomixMapCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceName;
+ private Object atomix;
+ private String configurationUri;
+ private Object defaultAction;
+ private Object key;
+ private List<Object> nodes;
+ private String resultHeader;
+ private Class<Object> transport;
+ private Long ttl;
+ private Boolean basicPropertyBinding;
+ private Properties defaultResourceConfig;
+ private Properties defaultResourceOptions;
+ private Boolean ephemeral;
+ private ReadConsistency readConsistency;
+ private Map<String, Properties> resourceConfigs;
+ private Map<String, Properties> resourceOptions;
+ private Boolean synchronous;
+
/**
* The distributed resource name. The option is a java.lang.String type.
*/
- private String resourceName;
+ public T resourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return (T) this;
+ }
+
/**
* The Atomix instance to use. The option is a io.atomix.Atomix type.
*/
- private Object atomix;
+ public T atomix(Object atomix) {
+ this.atomix = atomix;
+ return (T) this;
+ }
+
/**
* The Atomix configuration uri. The option is a java.lang.String type.
*/
- private String configurationUri;
+ public T configurationUri(String configurationUri) {
+ this.configurationUri = configurationUri;
+ return (T) this;
+ }
+
/**
* The default action. The option is a
* org.apache.camel.component.atomix.client.map.AtomixMap.Action type.
*/
- private Object defaultAction;
+ public T defaultAction(Object defaultAction) {
+ this.defaultAction = defaultAction;
+ return (T) this;
+ }
+
/**
* The key to use if none is set in the header or to listen for events
* for a specific key. The option is a java.lang.Object type.
*/
- private Object key;
+ public T key(Object key) {
+ this.key = key;
+ return (T) this;
+ }
+
/**
* The address of the nodes composing the cluster. The option is a
* java.lang.String type.
*/
- private List<Object> nodes;
+ public T nodes(List<Object> nodes) {
+ this.nodes = nodes;
+ return (T) this;
+ }
+
/**
* The header that wil carry the result. The option is a
* java.lang.String type.
*/
- private String resultHeader;
+ public T resultHeader(String resultHeader) {
+ this.resultHeader = resultHeader;
+ return (T) this;
+ }
+
/**
* Sets the Atomix transport. The option is a
* io.atomix.catalyst.transport.Transport type.
*/
- private Class<Object> transport;
+ public T transport(Class<Object> transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* The resource ttl. The option is a long type.
*/
- private Long ttl;
+ public T ttl(long ttl) {
+ this.ttl = ttl;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cluster wide default resource configuration. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceConfig;
+ public T defaultResourceConfig(Properties defaultResourceConfig) {
+ this.defaultResourceConfig = defaultResourceConfig;
+ return (T) this;
+ }
+
/**
* The local default resource options. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceOptions;
+ public T defaultResourceOptions(Properties defaultResourceOptions) {
+ this.defaultResourceOptions = defaultResourceOptions;
+ return (T) this;
+ }
+
/**
* Sets if the local member should join groups as PersistentMember or
* not. If set to ephemeral the local member will receive an auto
* generated ID thus the local one is ignored. The option is a boolean
* type.
*/
- private Boolean ephemeral;
+ public T ephemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ return (T) this;
+ }
+
/**
* The read consistency level. The option is a
* io.atomix.resource.ReadConsistency type.
*/
- private ReadConsistency readConsistency;
+ public T readConsistency(ReadConsistency readConsistency) {
+ this.readConsistency = readConsistency;
+ return (T) this;
+ }
+
/**
* Cluster wide resources configuration. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceConfigs;
+ public T resourceConfigs(Map<String, Properties> resourceConfigs) {
+ this.resourceConfigs = resourceConfigs;
+ return (T) this;
+ }
+
/**
* Local resources configurations. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceOptions;
+ public T resourceOptions(Map<String, Properties> resourceOptions) {
+ this.resourceOptions = resourceOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceName() {
return resourceName;
@@ -256,7 +343,13 @@ public class AtomixMapEndpoint {
}
}
- public static class AtomixMapConsumer extends AtomixMapCommon {
+ public static class AtomixMapConsumer
+ extends
+ AtomixMapCommon<AtomixMapConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -266,7 +359,11 @@ public class AtomixMapEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomixMapConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomixMapConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -274,12 +371,20 @@ public class AtomixMapEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomixMapConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomixMapConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomixMapConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomixMapConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -306,7 +411,9 @@ public class AtomixMapEndpoint {
}
}
- public static class AtomixMapProducer extends AtomixMapCommon {
+ public static class AtomixMapProducer
+ extends
+ AtomixMapCommon<AtomixMapProducer> {
}
public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java
index 53924b0..2ff047e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java
@@ -32,96 +32,188 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtomixMessagingEndpoint {
- public static class AtomixMessagingCommon extends EndpointConfiguration {
+ public static class AtomixMessagingCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceName;
+ private Object atomix;
+ private Object broadcastType;
+ private String channelName;
+ private String configurationUri;
+ private Object defaultAction;
+ private String memberName;
+ private List<Object> nodes;
+ private String resultHeader;
+ private Class<Object> transport;
+ private Boolean basicPropertyBinding;
+ private Properties defaultResourceConfig;
+ private Properties defaultResourceOptions;
+ private Boolean ephemeral;
+ private ReadConsistency readConsistency;
+ private Map<String, Properties> resourceConfigs;
+ private Map<String, Properties> resourceOptions;
+ private Boolean synchronous;
+
/**
* The distributed resource name. The option is a java.lang.String type.
*/
- private String resourceName;
+ public T resourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return (T) this;
+ }
+
/**
* The Atomix instance to use. The option is a io.atomix.Atomix type.
*/
- private Object atomix;
+ public T atomix(Object atomix) {
+ this.atomix = atomix;
+ return (T) this;
+ }
+
/**
* The broadcast type. The option is a
* org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType type.
*/
- private Object broadcastType;
+ public T broadcastType(Object broadcastType) {
+ this.broadcastType = broadcastType;
+ return (T) this;
+ }
+
/**
* The messaging channel name. The option is a java.lang.String type.
*/
- private String channelName;
+ public T channelName(String channelName) {
+ this.channelName = channelName;
+ return (T) this;
+ }
+
/**
* The Atomix configuration uri. The option is a java.lang.String type.
*/
- private String configurationUri;
+ public T configurationUri(String configurationUri) {
+ this.configurationUri = configurationUri;
+ return (T) this;
+ }
+
/**
* The default action. The option is a
* org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action type.
*/
- private Object defaultAction;
+ public T defaultAction(Object defaultAction) {
+ this.defaultAction = defaultAction;
+ return (T) this;
+ }
+
/**
* The Atomix Group member name. The option is a java.lang.String type.
*/
- private String memberName;
+ public T memberName(String memberName) {
+ this.memberName = memberName;
+ return (T) this;
+ }
+
/**
* The address of the nodes composing the cluster. The option is a
* java.lang.String type.
*/
- private List<Object> nodes;
+ public T nodes(List<Object> nodes) {
+ this.nodes = nodes;
+ return (T) this;
+ }
+
/**
* The header that wil carry the result. The option is a
* java.lang.String type.
*/
- private String resultHeader;
+ public T resultHeader(String resultHeader) {
+ this.resultHeader = resultHeader;
+ return (T) this;
+ }
+
/**
* Sets the Atomix transport. The option is a
* io.atomix.catalyst.transport.Transport type.
*/
- private Class<Object> transport;
+ public T transport(Class<Object> transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cluster wide default resource configuration. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceConfig;
+ public T defaultResourceConfig(Properties defaultResourceConfig) {
+ this.defaultResourceConfig = defaultResourceConfig;
+ return (T) this;
+ }
+
/**
* The local default resource options. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceOptions;
+ public T defaultResourceOptions(Properties defaultResourceOptions) {
+ this.defaultResourceOptions = defaultResourceOptions;
+ return (T) this;
+ }
+
/**
* Sets if the local member should join groups as PersistentMember or
* not. If set to ephemeral the local member will receive an auto
* generated ID thus the local one is ignored. The option is a boolean
* type.
*/
- private Boolean ephemeral;
+ public T ephemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ return (T) this;
+ }
+
/**
* The read consistency level. The option is a
* io.atomix.resource.ReadConsistency type.
*/
- private ReadConsistency readConsistency;
+ public T readConsistency(ReadConsistency readConsistency) {
+ this.readConsistency = readConsistency;
+ return (T) this;
+ }
+
/**
* Cluster wide resources configuration. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceConfigs;
+ public T resourceConfigs(Map<String, Properties> resourceConfigs) {
+ this.resourceConfigs = resourceConfigs;
+ return (T) this;
+ }
+
/**
* Local resources configurations. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceOptions;
+ public T resourceOptions(Map<String, Properties> resourceOptions) {
+ this.resourceOptions = resourceOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceName() {
return resourceName;
@@ -268,7 +360,13 @@ public class AtomixMessagingEndpoint {
}
}
- public static class AtomixMessagingConsumer extends AtomixMessagingCommon {
+ public static class AtomixMessagingConsumer
+ extends
+ AtomixMessagingCommon<AtomixMessagingConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -278,7 +376,12 @@ public class AtomixMessagingEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomixMessagingConsumer bridgeErrorHandler(
+ boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomixMessagingConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -286,12 +389,21 @@ public class AtomixMessagingEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomixMessagingConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomixMessagingConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomixMessagingConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomixMessagingConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -318,7 +430,9 @@ public class AtomixMessagingEndpoint {
}
}
- public static class AtomixMessagingProducer extends AtomixMessagingCommon {
+ public static class AtomixMessagingProducer
+ extends
+ AtomixMessagingCommon<AtomixMessagingProducer> {
}
public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java
index ccfac50..5516d83 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java
@@ -33,92 +33,179 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtomixMultiMapEndpoint {
- public static class AtomixMultiMapCommon extends EndpointConfiguration {
+ public static class AtomixMultiMapCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceName;
+ private Object atomix;
+ private String configurationUri;
+ private Object defaultAction;
+ private Object key;
+ private List<Object> nodes;
+ private String resultHeader;
+ private Class<Object> transport;
+ private Long ttl;
+ private Boolean basicPropertyBinding;
+ private Properties defaultResourceConfig;
+ private Properties defaultResourceOptions;
+ private Boolean ephemeral;
+ private ReadConsistency readConsistency;
+ private Map<String, Properties> resourceConfigs;
+ private Map<String, Properties> resourceOptions;
+ private Boolean synchronous;
+
/**
* The distributed resource name. The option is a java.lang.String type.
*/
- private String resourceName;
+ public T resourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return (T) this;
+ }
+
/**
* The Atomix instance to use. The option is a io.atomix.Atomix type.
*/
- private Object atomix;
+ public T atomix(Object atomix) {
+ this.atomix = atomix;
+ return (T) this;
+ }
+
/**
* The Atomix configuration uri. The option is a java.lang.String type.
*/
- private String configurationUri;
+ public T configurationUri(String configurationUri) {
+ this.configurationUri = configurationUri;
+ return (T) this;
+ }
+
/**
* The default action. The option is a
* org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action type.
*/
- private Object defaultAction;
+ public T defaultAction(Object defaultAction) {
+ this.defaultAction = defaultAction;
+ return (T) this;
+ }
+
/**
* The key to use if none is set in the header or to listen for events
* for a specific key. The option is a java.lang.Object type.
*/
- private Object key;
+ public T key(Object key) {
+ this.key = key;
+ return (T) this;
+ }
+
/**
* The address of the nodes composing the cluster. The option is a
* java.lang.String type.
*/
- private List<Object> nodes;
+ public T nodes(List<Object> nodes) {
+ this.nodes = nodes;
+ return (T) this;
+ }
+
/**
* The header that wil carry the result. The option is a
* java.lang.String type.
*/
- private String resultHeader;
+ public T resultHeader(String resultHeader) {
+ this.resultHeader = resultHeader;
+ return (T) this;
+ }
+
/**
* Sets the Atomix transport. The option is a
* io.atomix.catalyst.transport.Transport type.
*/
- private Class<Object> transport;
+ public T transport(Class<Object> transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* The resource ttl. The option is a long type.
*/
- private Long ttl;
+ public T ttl(long ttl) {
+ this.ttl = ttl;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cluster wide default resource configuration. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceConfig;
+ public T defaultResourceConfig(Properties defaultResourceConfig) {
+ this.defaultResourceConfig = defaultResourceConfig;
+ return (T) this;
+ }
+
/**
* The local default resource options. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceOptions;
+ public T defaultResourceOptions(Properties defaultResourceOptions) {
+ this.defaultResourceOptions = defaultResourceOptions;
+ return (T) this;
+ }
+
/**
* Sets if the local member should join groups as PersistentMember or
* not. If set to ephemeral the local member will receive an auto
* generated ID thus the local one is ignored. The option is a boolean
* type.
*/
- private Boolean ephemeral;
+ public T ephemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ return (T) this;
+ }
+
/**
* The read consistency level. The option is a
* io.atomix.resource.ReadConsistency type.
*/
- private ReadConsistency readConsistency;
+ public T readConsistency(ReadConsistency readConsistency) {
+ this.readConsistency = readConsistency;
+ return (T) this;
+ }
+
/**
* Cluster wide resources configuration. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceConfigs;
+ public T resourceConfigs(Map<String, Properties> resourceConfigs) {
+ this.resourceConfigs = resourceConfigs;
+ return (T) this;
+ }
+
/**
* Local resources configurations. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceOptions;
+ public T resourceOptions(Map<String, Properties> resourceOptions) {
+ this.resourceOptions = resourceOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceName() {
return resourceName;
@@ -257,7 +344,13 @@ public class AtomixMultiMapEndpoint {
}
}
- public static class AtomixMultiMapConsumer extends AtomixMultiMapCommon {
+ public static class AtomixMultiMapConsumer
+ extends
+ AtomixMultiMapCommon<AtomixMultiMapConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -267,7 +360,12 @@ public class AtomixMultiMapEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomixMultiMapConsumer bridgeErrorHandler(
+ boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomixMultiMapConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -275,12 +373,21 @@ public class AtomixMultiMapEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomixMultiMapConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomixMultiMapConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomixMultiMapConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomixMultiMapConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -307,7 +414,9 @@ public class AtomixMultiMapEndpoint {
}
}
- public static class AtomixMultiMapProducer extends AtomixMultiMapCommon {
+ public static class AtomixMultiMapProducer
+ extends
+ AtomixMultiMapCommon<AtomixMultiMapProducer> {
}
public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java
index 738e896..6b74950 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java
@@ -32,84 +32,161 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtomixQueueEndpoint {
- public static class AtomixQueueCommon extends EndpointConfiguration {
+ public static class AtomixQueueCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceName;
+ private Object atomix;
+ private String configurationUri;
+ private Object defaultAction;
+ private List<Object> nodes;
+ private String resultHeader;
+ private Class<Object> transport;
+ private Boolean basicPropertyBinding;
+ private Properties defaultResourceConfig;
+ private Properties defaultResourceOptions;
+ private Boolean ephemeral;
+ private ReadConsistency readConsistency;
+ private Map<String, Properties> resourceConfigs;
+ private Map<String, Properties> resourceOptions;
+ private Boolean synchronous;
+
/**
* The distributed resource name. The option is a java.lang.String type.
*/
- private String resourceName;
+ public T resourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return (T) this;
+ }
+
/**
* The Atomix instance to use. The option is a io.atomix.Atomix type.
*/
- private Object atomix;
+ public T atomix(Object atomix) {
+ this.atomix = atomix;
+ return (T) this;
+ }
+
/**
* The Atomix configuration uri. The option is a java.lang.String type.
*/
- private String configurationUri;
+ public T configurationUri(String configurationUri) {
+ this.configurationUri = configurationUri;
+ return (T) this;
+ }
+
/**
* The default action. The option is a
* org.apache.camel.component.atomix.client.queue.AtomixQueue.Action
* type.
*/
- private Object defaultAction;
+ public T defaultAction(Object defaultAction) {
+ this.defaultAction = defaultAction;
+ return (T) this;
+ }
+
/**
* The address of the nodes composing the cluster. The option is a
* java.lang.String type.
*/
- private List<Object> nodes;
+ public T nodes(List<Object> nodes) {
+ this.nodes = nodes;
+ return (T) this;
+ }
+
/**
* The header that wil carry the result. The option is a
* java.lang.String type.
*/
- private String resultHeader;
+ public T resultHeader(String resultHeader) {
+ this.resultHeader = resultHeader;
+ return (T) this;
+ }
+
/**
* Sets the Atomix transport. The option is a
* io.atomix.catalyst.transport.Transport type.
*/
- private Class<Object> transport;
+ public T transport(Class<Object> transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cluster wide default resource configuration. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceConfig;
+ public T defaultResourceConfig(Properties defaultResourceConfig) {
+ this.defaultResourceConfig = defaultResourceConfig;
+ return (T) this;
+ }
+
/**
* The local default resource options. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceOptions;
+ public T defaultResourceOptions(Properties defaultResourceOptions) {
+ this.defaultResourceOptions = defaultResourceOptions;
+ return (T) this;
+ }
+
/**
* Sets if the local member should join groups as PersistentMember or
* not. If set to ephemeral the local member will receive an auto
* generated ID thus the local one is ignored. The option is a boolean
* type.
*/
- private Boolean ephemeral;
+ public T ephemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ return (T) this;
+ }
+
/**
* The read consistency level. The option is a
* io.atomix.resource.ReadConsistency type.
*/
- private ReadConsistency readConsistency;
+ public T readConsistency(ReadConsistency readConsistency) {
+ this.readConsistency = readConsistency;
+ return (T) this;
+ }
+
/**
* Cluster wide resources configuration. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceConfigs;
+ public T resourceConfigs(Map<String, Properties> resourceConfigs) {
+ this.resourceConfigs = resourceConfigs;
+ return (T) this;
+ }
+
/**
* Local resources configurations. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceOptions;
+ public T resourceOptions(Map<String, Properties> resourceOptions) {
+ this.resourceOptions = resourceOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceName() {
return resourceName;
@@ -232,7 +309,13 @@ public class AtomixQueueEndpoint {
}
}
- public static class AtomixQueueConsumer extends AtomixQueueCommon {
+ public static class AtomixQueueConsumer
+ extends
+ AtomixQueueCommon<AtomixQueueConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -242,7 +325,11 @@ public class AtomixQueueEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomixQueueConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomixQueueConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -250,12 +337,21 @@ public class AtomixQueueEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomixQueueConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomixQueueConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomixQueueConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomixQueueConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -282,7 +378,9 @@ public class AtomixQueueEndpoint {
}
}
- public static class AtomixQueueProducer extends AtomixQueueCommon {
+ public static class AtomixQueueProducer
+ extends
+ AtomixQueueCommon<AtomixQueueProducer> {
}
public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java
index a253cbc..b119947 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java
@@ -32,87 +32,169 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtomixSetEndpoint {
- public static class AtomixSetCommon extends EndpointConfiguration {
+ public static class AtomixSetCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceName;
+ private Object atomix;
+ private String configurationUri;
+ private Object defaultAction;
+ private List<Object> nodes;
+ private String resultHeader;
+ private Class<Object> transport;
+ private Long ttl;
+ private Boolean basicPropertyBinding;
+ private Properties defaultResourceConfig;
+ private Properties defaultResourceOptions;
+ private Boolean ephemeral;
+ private ReadConsistency readConsistency;
+ private Map<String, Properties> resourceConfigs;
+ private Map<String, Properties> resourceOptions;
+ private Boolean synchronous;
+
/**
* The distributed resource name. The option is a java.lang.String type.
*/
- private String resourceName;
+ public T resourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return (T) this;
+ }
+
/**
* The Atomix instance to use. The option is a io.atomix.Atomix type.
*/
- private Object atomix;
+ public T atomix(Object atomix) {
+ this.atomix = atomix;
+ return (T) this;
+ }
+
/**
* The Atomix configuration uri. The option is a java.lang.String type.
*/
- private String configurationUri;
+ public T configurationUri(String configurationUri) {
+ this.configurationUri = configurationUri;
+ return (T) this;
+ }
+
/**
* The default action. The option is a
* org.apache.camel.component.atomix.client.set.AtomixSet.Action type.
*/
- private Object defaultAction;
+ public T defaultAction(Object defaultAction) {
+ this.defaultAction = defaultAction;
+ return (T) this;
+ }
+
/**
* The address of the nodes composing the cluster. The option is a
* java.lang.String type.
*/
- private List<Object> nodes;
+ public T nodes(List<Object> nodes) {
+ this.nodes = nodes;
+ return (T) this;
+ }
+
/**
* The header that wil carry the result. The option is a
* java.lang.String type.
*/
- private String resultHeader;
+ public T resultHeader(String resultHeader) {
+ this.resultHeader = resultHeader;
+ return (T) this;
+ }
+
/**
* Sets the Atomix transport. The option is a
* io.atomix.catalyst.transport.Transport type.
*/
- private Class<Object> transport;
+ public T transport(Class<Object> transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* The resource ttl. The option is a long type.
*/
- private Long ttl;
+ public T ttl(long ttl) {
+ this.ttl = ttl;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cluster wide default resource configuration. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceConfig;
+ public T defaultResourceConfig(Properties defaultResourceConfig) {
+ this.defaultResourceConfig = defaultResourceConfig;
+ return (T) this;
+ }
+
/**
* The local default resource options. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceOptions;
+ public T defaultResourceOptions(Properties defaultResourceOptions) {
+ this.defaultResourceOptions = defaultResourceOptions;
+ return (T) this;
+ }
+
/**
* Sets if the local member should join groups as PersistentMember or
* not. If set to ephemeral the local member will receive an auto
* generated ID thus the local one is ignored. The option is a boolean
* type.
*/
- private Boolean ephemeral;
+ public T ephemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ return (T) this;
+ }
+
/**
* The read consistency level. The option is a
* io.atomix.resource.ReadConsistency type.
*/
- private ReadConsistency readConsistency;
+ public T readConsistency(ReadConsistency readConsistency) {
+ this.readConsistency = readConsistency;
+ return (T) this;
+ }
+
/**
* Cluster wide resources configuration. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceConfigs;
+ public T resourceConfigs(Map<String, Properties> resourceConfigs) {
+ this.resourceConfigs = resourceConfigs;
+ return (T) this;
+ }
+
/**
* Local resources configurations. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceOptions;
+ public T resourceOptions(Map<String, Properties> resourceOptions) {
+ this.resourceOptions = resourceOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceName() {
return resourceName;
@@ -243,7 +325,13 @@ public class AtomixSetEndpoint {
}
}
- public static class AtomixSetConsumer extends AtomixSetCommon {
+ public static class AtomixSetConsumer
+ extends
+ AtomixSetCommon<AtomixSetConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -253,7 +341,11 @@ public class AtomixSetEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomixSetConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomixSetConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -261,12 +353,20 @@ public class AtomixSetEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomixSetConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomixSetConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomixSetConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomixSetConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -293,7 +393,9 @@ public class AtomixSetEndpoint {
}
}
- public static class AtomixSetProducer extends AtomixSetCommon {
+ public static class AtomixSetProducer
+ extends
+ AtomixSetCommon<AtomixSetProducer> {
}
public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java
index 5598ac4..c4bccc7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java
@@ -32,88 +32,170 @@ import org.apache.camel.spi.ExceptionHandler;
public class AtomixValueEndpoint {
- public static class AtomixValueCommon extends EndpointConfiguration {
+ public static class AtomixValueCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceName;
+ private Object atomix;
+ private String configurationUri;
+ private Object defaultAction;
+ private List<Object> nodes;
+ private String resultHeader;
+ private Class<Object> transport;
+ private Long ttl;
+ private Boolean basicPropertyBinding;
+ private Properties defaultResourceConfig;
+ private Properties defaultResourceOptions;
+ private Boolean ephemeral;
+ private ReadConsistency readConsistency;
+ private Map<String, Properties> resourceConfigs;
+ private Map<String, Properties> resourceOptions;
+ private Boolean synchronous;
+
/**
* The distributed resource name. The option is a java.lang.String type.
*/
- private String resourceName;
+ public T resourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return (T) this;
+ }
+
/**
* The Atomix instance to use. The option is a io.atomix.Atomix type.
*/
- private Object atomix;
+ public T atomix(Object atomix) {
+ this.atomix = atomix;
+ return (T) this;
+ }
+
/**
* The Atomix configuration uri. The option is a java.lang.String type.
*/
- private String configurationUri;
+ public T configurationUri(String configurationUri) {
+ this.configurationUri = configurationUri;
+ return (T) this;
+ }
+
/**
* The default action. The option is a
* org.apache.camel.component.atomix.client.value.AtomixValue.Action
* type.
*/
- private Object defaultAction;
+ public T defaultAction(Object defaultAction) {
+ this.defaultAction = defaultAction;
+ return (T) this;
+ }
+
/**
* The address of the nodes composing the cluster. The option is a
* java.lang.String type.
*/
- private List<Object> nodes;
+ public T nodes(List<Object> nodes) {
+ this.nodes = nodes;
+ return (T) this;
+ }
+
/**
* The header that wil carry the result. The option is a
* java.lang.String type.
*/
- private String resultHeader;
+ public T resultHeader(String resultHeader) {
+ this.resultHeader = resultHeader;
+ return (T) this;
+ }
+
/**
* Sets the Atomix transport. The option is a
* io.atomix.catalyst.transport.Transport type.
*/
- private Class<Object> transport;
+ public T transport(Class<Object> transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* The resource ttl. The option is a long type.
*/
- private Long ttl;
+ public T ttl(long ttl) {
+ this.ttl = ttl;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cluster wide default resource configuration. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceConfig;
+ public T defaultResourceConfig(Properties defaultResourceConfig) {
+ this.defaultResourceConfig = defaultResourceConfig;
+ return (T) this;
+ }
+
/**
* The local default resource options. The option is a
* java.util.Properties type.
*/
- private Properties defaultResourceOptions;
+ public T defaultResourceOptions(Properties defaultResourceOptions) {
+ this.defaultResourceOptions = defaultResourceOptions;
+ return (T) this;
+ }
+
/**
* Sets if the local member should join groups as PersistentMember or
* not. If set to ephemeral the local member will receive an auto
* generated ID thus the local one is ignored. The option is a boolean
* type.
*/
- private Boolean ephemeral;
+ public T ephemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ return (T) this;
+ }
+
/**
* The read consistency level. The option is a
* io.atomix.resource.ReadConsistency type.
*/
- private ReadConsistency readConsistency;
+ public T readConsistency(ReadConsistency readConsistency) {
+ this.readConsistency = readConsistency;
+ return (T) this;
+ }
+
/**
* Cluster wide resources configuration. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceConfigs;
+ public T resourceConfigs(Map<String, Properties> resourceConfigs) {
+ this.resourceConfigs = resourceConfigs;
+ return (T) this;
+ }
+
/**
* Local resources configurations. The option is a
* java.util.Map<java.lang.String,java.util.Properties> type.
*/
- private Map<String, Properties> resourceOptions;
+ public T resourceOptions(Map<String, Properties> resourceOptions) {
+ this.resourceOptions = resourceOptions;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceName() {
return resourceName;
@@ -244,7 +326,13 @@ public class AtomixValueEndpoint {
}
}
- public static class AtomixValueConsumer extends AtomixValueCommon {
+ public static class AtomixValueConsumer
+ extends
+ AtomixValueCommon<AtomixValueConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -254,7 +342,11 @@ public class AtomixValueEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AtomixValueConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AtomixValueConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -262,12 +354,21 @@ public class AtomixValueEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AtomixValueConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AtomixValueConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AtomixValueConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AtomixValueConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -294,7 +395,9 @@ public class AtomixValueEndpoint {
}
}
- public static class AtomixValueProducer extends AtomixValueCommon {
+ public static class AtomixValueProducer
+ extends
+ AtomixValueCommon<AtomixValueProducer> {
}
public static enum ReadConsistency {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java
index 9de579f..9aed0a0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java
@@ -29,67 +29,129 @@ import org.apache.camel.spi.ExceptionHandler;
public class AvroEndpoint {
- public static class AvroCommon extends EndpointConfiguration {
+ public static class AvroCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private AvroTransport transport;
+ private Integer port;
+ private String host;
+ private String messageName;
+ private Object protocol;
+ private String protocolClassName;
+ private String protocolLocation;
+ private Boolean reflectionProtocol;
+ private Boolean singleParameter;
+ private String uriAuthority;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Transport to use, can be either http or netty. The option is a
* org.apache.camel.component.avro.AvroTransport type.
*/
- private AvroTransport transport;
+ public T transport(AvroTransport transport) {
+ this.transport = transport;
+ return (T) this;
+ }
+
/**
* Port number to use. The option is a int type.
*/
- private Integer port;
+ public T port(int port) {
+ this.port = port;
+ return (T) this;
+ }
+
/**
* Hostname to use. The option is a java.lang.String type.
*/
- private String host;
+ public T host(String host) {
+ this.host = host;
+ return (T) this;
+ }
+
/**
* The name of the message to send. The option is a java.lang.String
* type.
*/
- private String messageName;
+ public T messageName(String messageName) {
+ this.messageName = messageName;
+ return (T) this;
+ }
+
/**
* Avro protocol to use. The option is a org.apache.avro.Protocol type.
*/
- private Object protocol;
+ public T protocol(Object protocol) {
+ this.protocol = protocol;
+ return (T) this;
+ }
+
/**
* Avro protocol to use defined by the FQN class name. The option is a
* java.lang.String type.
*/
- private String protocolClassName;
+ public T protocolClassName(String protocolClassName) {
+ this.protocolClassName = protocolClassName;
+ return (T) this;
+ }
+
/**
* Avro protocol location. The option is a java.lang.String type.
*/
- private String protocolLocation;
+ public T protocolLocation(String protocolLocation) {
+ this.protocolLocation = protocolLocation;
+ return (T) this;
+ }
+
/**
* If protocol object provided is reflection protocol. Should be used
* only with protocol parameter because for protocolClassName protocol
* type will be auto detected. The option is a boolean type.
*/
- private Boolean reflectionProtocol;
+ public T reflectionProtocol(boolean reflectionProtocol) {
+ this.reflectionProtocol = reflectionProtocol;
+ return (T) this;
+ }
+
/**
* If true, consumer parameter won't be wrapped into array. Will fail if
* protocol specifies more then 1 parameter for the message. The option
* is a boolean type.
*/
- private Boolean singleParameter;
+ public T singleParameter(boolean singleParameter) {
+ this.singleParameter = singleParameter;
+ return (T) this;
+ }
+
/**
* Authority to use (username and password). The option is a
* java.lang.String type.
*/
- private String uriAuthority;
+ public T uriAuthority(String uriAuthority) {
+ this.uriAuthority = uriAuthority;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public AvroTransport getTransport() {
return transport;
@@ -188,7 +250,11 @@ public class AvroEndpoint {
}
}
- public static class AvroConsumer extends AvroCommon {
+ public static class AvroConsumer extends AvroCommon<AvroConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -198,7 +264,11 @@ public class AvroEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public AvroConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (AvroConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -206,12 +276,19 @@ public class AvroEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public AvroConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (AvroConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public AvroConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (AvroConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -238,7 +315,7 @@ public class AvroEndpoint {
}
}
- public static class AvroProducer extends AvroCommon {
+ public static class AvroProducer extends AvroCommon<AvroProducer> {
}
public static enum AvroTransport {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java
index 0c7bd8e..b1856b7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java
@@ -28,40 +28,72 @@ import javax.annotation.Generated;
public class BeanEndpoint {
- public static class BeanCommon extends EndpointConfiguration {
+ public static class BeanCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String beanName;
+ private String method;
+ private Boolean basicPropertyBinding;
+ private Boolean cache;
+ private Map<String, Object> parameters;
+ private Boolean synchronous;
+
/**
* Sets the name of the bean to invoke. The option is a java.lang.String
* type.
*/
- private String beanName;
+ public T beanName(String beanName) {
+ this.beanName = beanName;
+ return (T) this;
+ }
+
/**
* Sets the name of the method to invoke on the bean. The option is a
* java.lang.String type.
*/
- private String method;
+ public T method(String method) {
+ this.method = method;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* If enabled, Camel will cache the result of the first Registry
* look-up. Cache can be enabled if the bean in the Registry is defined
* as a singleton scope. The option is a java.lang.Boolean type.
*/
- private Boolean cache;
+ public T cache(Boolean cache) {
+ this.cache = cache;
+ return (T) this;
+ }
+
/**
* Used for configuring additional properties on the bean. The option is
* a java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> parameters;
+ public T parameters(Map<String, Object> parameters) {
+ this.parameters = parameters;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getBeanName() {
return beanName;
@@ -112,9 +144,9 @@ public class BeanEndpoint {
}
}
- public static class BeanConsumer extends BeanCommon {
+ public static class BeanConsumer extends BeanCommon<BeanConsumer> {
}
- public static class BeanProducer extends BeanCommon {
+ public static class BeanProducer extends BeanCommon<BeanProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java
index 4a971fd..c78dca1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java
@@ -28,49 +28,91 @@ import javax.annotation.Generated;
public class BeanValidatorEndpoint {
- public static class BeanValidatorCommon extends EndpointConfiguration {
+ public static class BeanValidatorCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String label;
+ private Object constraintValidatorFactory;
+ private String group;
+ private Object messageInterpolator;
+ private Object traversableResolver;
+ private Object validationProviderResolver;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Where label is an arbitrary text value describing the endpoint. The
* option is a java.lang.String type.
*/
- private String label;
+ public T label(String label) {
+ this.label = label;
+ return (T) this;
+ }
+
/**
* To use a custom ConstraintValidatorFactory. The option is a
* javax.validation.ConstraintValidatorFactory type.
*/
- private Object constraintValidatorFactory;
+ public T constraintValidatorFactory(Object constraintValidatorFactory) {
+ this.constraintValidatorFactory = constraintValidatorFactory;
+ return (T) this;
+ }
+
/**
* To use a custom validation group. The option is a java.lang.String
* type.
*/
- private String group;
+ public T group(String group) {
+ this.group = group;
+ return (T) this;
+ }
+
/**
* To use a custom MessageInterpolator. The option is a
* javax.validation.MessageInterpolator type.
*/
- private Object messageInterpolator;
+ public T messageInterpolator(Object messageInterpolator) {
+ this.messageInterpolator = messageInterpolator;
+ return (T) this;
+ }
+
/**
* To use a custom TraversableResolver. The option is a
* javax.validation.TraversableResolver type.
*/
- private Object traversableResolver;
+ public T traversableResolver(Object traversableResolver) {
+ this.traversableResolver = traversableResolver;
+ return (T) this;
+ }
+
/**
* To use a a custom ValidationProviderResolver. The option is a
* javax.validation.ValidationProviderResolver type.
*/
- private Object validationProviderResolver;
+ public T validationProviderResolver(Object validationProviderResolver) {
+ this.validationProviderResolver = validationProviderResolver;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getLabel() {
return label;
@@ -139,9 +181,13 @@ public class BeanValidatorEndpoint {
}
}
- public static class BeanValidatorConsumer extends BeanValidatorCommon {
+ public static class BeanValidatorConsumer
+ extends
+ BeanValidatorCommon<BeanValidatorConsumer> {
}
- public static class BeanValidatorProducer extends BeanValidatorCommon {
+ public static class BeanValidatorProducer
+ extends
+ BeanValidatorCommon<BeanValidatorProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java
index a5dc015..e23014c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java
@@ -36,12 +36,26 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
public class BeanstalkEndpoint {
- public static class BeanstalkCommon extends EndpointConfiguration {
+ public static class BeanstalkCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String connectionSettings;
+ private BeanstalkCommand command;
+ private Integer jobDelay;
+ private Long jobPriority;
+ private Integer jobTimeToRun;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Connection settings host:port/tube. The option is a java.lang.String
* type.
*/
- private String connectionSettings;
+ public T connectionSettings(String connectionSettings) {
+ this.connectionSettings = connectionSettings;
+ return (T) this;
+ }
+
/**
* put means to put the job into Beanstalk. Job body is specified in the
* Camel message body. Job ID will be returned in beanstalk.jobId
@@ -52,34 +66,57 @@ public class BeanstalkEndpoint {
* kicked out in the message header beanstalk.result. The option is a
* org.apache.camel.component.beanstalk.BeanstalkCommand type.
*/
- private BeanstalkCommand command;
+ public T command(BeanstalkCommand command) {
+ this.command = command;
+ return (T) this;
+ }
+
/**
* Job delay in seconds. The option is a int type.
*/
- private Integer jobDelay;
+ public T jobDelay(int jobDelay) {
+ this.jobDelay = jobDelay;
+ return (T) this;
+ }
+
/**
* Job priority. (0 is the highest, see Beanstalk protocol). The option
* is a long type.
*/
- private Long jobPriority;
+ public T jobPriority(long jobPriority) {
+ this.jobPriority = jobPriority;
+ return (T) this;
+ }
+
/**
* Job time to run in seconds. (when 0, the beanstalkd daemon raises it
* to 1 automatically, see Beanstalk protocol). The option is a int
* type.
*/
- private Integer jobTimeToRun;
+ public T jobTimeToRun(int jobTimeToRun) {
+ this.jobTimeToRun = jobTimeToRun;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getConnectionSettings() {
return connectionSettings;
@@ -138,12 +175,40 @@ public class BeanstalkEndpoint {
}
}
- public static class BeanstalkConsumer extends BeanstalkCommon {
+ public static class BeanstalkConsumer
+ extends
+ BeanstalkCommon<BeanstalkConsumer> {
+ private Boolean awaitJob;
+ private Boolean bridgeErrorHandler;
+ private BeanstalkCommand onFailure;
+ private Boolean sendEmptyMessageWhenIdle;
+ private Boolean useBlockIO;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+ private PollingConsumerPollStrategy pollStrategy;
+ private Integer backoffErrorThreshold;
+ private Integer backoffIdleThreshold;
+ private Integer backoffMultiplier;
+ private Long delay;
+ private Boolean greedy;
+ private Long initialDelay;
+ private LoggingLevel runLoggingLevel;
+ private ScheduledExecutorService scheduledExecutorService;
+ private ScheduledPollConsumerScheduler scheduler;
+ private Map<String, Object> schedulerProperties;
+ private Boolean startScheduler;
+ private TimeUnit timeUnit;
+ private Boolean useFixedDelay;
+
/**
* Whether to wait for job to complete before ack the job from
* beanstalk. The option is a boolean type.
*/
- private Boolean awaitJob;
+ public BeanstalkConsumer awaitJob(boolean awaitJob) {
+ this.awaitJob = awaitJob;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -153,22 +218,39 @@ public class BeanstalkEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public BeanstalkConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Command to use when processing failed. The option is a
* org.apache.camel.component.beanstalk.BeanstalkCommand type.
*/
- private BeanstalkCommand onFailure;
+ public BeanstalkConsumer onFailure(BeanstalkCommand onFailure) {
+ this.onFailure = onFailure;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* If the polling consumer did not poll any files, you can enable this
* option to send an empty message (no body) instead. The option is a
* boolean type.
*/
- private Boolean sendEmptyMessageWhenIdle;
+ public BeanstalkConsumer sendEmptyMessageWhenIdle(
+ boolean sendEmptyMessageWhenIdle) {
+ this.sendEmptyMessageWhenIdle = sendEmptyMessageWhenIdle;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Whether to use blockIO. The option is a boolean type.
*/
- private Boolean useBlockIO;
+ public BeanstalkConsumer useBlockIO(boolean useBlockIO) {
+ this.useBlockIO = useBlockIO;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -176,12 +258,21 @@ public class BeanstalkEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public BeanstalkConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public BeanstalkConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
* you to provide your custom implementation to control error handling
@@ -189,18 +280,31 @@ public class BeanstalkEndpoint {
* been created and being routed in Camel. The option is a
* org.apache.camel.spi.PollingConsumerPollStrategy type.
*/
- private PollingConsumerPollStrategy pollStrategy;
+ public BeanstalkConsumer pollStrategy(
+ PollingConsumerPollStrategy pollStrategy) {
+ this.pollStrategy = pollStrategy;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* The number of subsequent error polls (failed due some error) that
* should happen before the backoffMultipler should kick-in. The option
* is a int type.
*/
- private Integer backoffErrorThreshold;
+ public BeanstalkConsumer backoffErrorThreshold(int backoffErrorThreshold) {
+ this.backoffErrorThreshold = backoffErrorThreshold;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* The number of subsequent idle polls that should happen before the
* backoffMultipler should kick-in. The option is a int type.
*/
- private Integer backoffIdleThreshold;
+ public BeanstalkConsumer backoffIdleThreshold(int backoffIdleThreshold) {
+ this.backoffIdleThreshold = backoffIdleThreshold;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* To let the scheduled polling consumer backoff if there has been a
* number of subsequent idles/errors in a row. The multiplier is then
@@ -209,66 +313,112 @@ public class BeanstalkEndpoint {
* backoffIdleThreshold and/or backoffErrorThreshold must also be
* configured. The option is a int type.
*/
- private Integer backoffMultiplier;
+ public BeanstalkConsumer backoffMultiplier(int backoffMultiplier) {
+ this.backoffMultiplier = backoffMultiplier;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Milliseconds before the next poll. You can also specify time values
* using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long delay;
+ public BeanstalkConsumer delay(long delay) {
+ this.delay = delay;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* If greedy is enabled, then the ScheduledPollConsumer will run
* immediately again, if the previous run polled 1 or more messages. The
* option is a boolean type.
*/
- private Boolean greedy;
+ public BeanstalkConsumer greedy(boolean greedy) {
+ this.greedy = greedy;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Milliseconds before the first poll starts. You can also specify time
* values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long initialDelay;
+ public BeanstalkConsumer initialDelay(long initialDelay) {
+ this.initialDelay = initialDelay;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* The consumer logs a start/complete log line when it polls. This
* option allows you to configure the logging level for that. The option
* is a org.apache.camel.LoggingLevel type.
*/
- private LoggingLevel runLoggingLevel;
+ public BeanstalkConsumer runLoggingLevel(LoggingLevel runLoggingLevel) {
+ this.runLoggingLevel = runLoggingLevel;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Allows for configuring a custom/shared thread pool to use for the
* consumer. By default each consumer has its own single threaded thread
* pool. The option is a java.util.concurrent.ScheduledExecutorService
* type.
*/
- private ScheduledExecutorService scheduledExecutorService;
+ public BeanstalkConsumer scheduledExecutorService(
+ ScheduledExecutorService scheduledExecutorService) {
+ this.scheduledExecutorService = scheduledExecutorService;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* To use a cron scheduler from either camel-spring or camel-quartz2
* component. The option is a
* org.apache.camel.spi.ScheduledPollConsumerScheduler type.
*/
- private ScheduledPollConsumerScheduler scheduler;
+ public BeanstalkConsumer scheduler(
+ ScheduledPollConsumerScheduler scheduler) {
+ this.scheduler = scheduler;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* To configure additional properties when using a custom scheduler or
* any of the Quartz2, Spring based scheduler. The option is a
* java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> schedulerProperties;
+ public BeanstalkConsumer schedulerProperties(
+ Map<String, Object> schedulerProperties) {
+ this.schedulerProperties = schedulerProperties;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Whether the scheduler should be auto started. The option is a boolean
* type.
*/
- private Boolean startScheduler;
+ public BeanstalkConsumer startScheduler(boolean startScheduler) {
+ this.startScheduler = startScheduler;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Time unit for initialDelay and delay options. The option is a
* java.util.concurrent.TimeUnit type.
*/
- private TimeUnit timeUnit;
+ public BeanstalkConsumer timeUnit(TimeUnit timeUnit) {
+ this.timeUnit = timeUnit;
+ return (BeanstalkConsumer) this;
+ }
+
/**
* Controls if fixed delay or fixed rate is used. See
* ScheduledExecutorService in JDK for details. The option is a boolean
* type.
*/
- private Boolean useFixedDelay;
+ public BeanstalkConsumer useFixedDelay(boolean useFixedDelay) {
+ this.useFixedDelay = useFixedDelay;
+ return (BeanstalkConsumer) this;
+ }
public Boolean getAwaitJob() {
return awaitJob;
@@ -441,7 +591,9 @@ public class BeanstalkEndpoint {
}
}
- public static class BeanstalkProducer extends BeanstalkCommon {
+ public static class BeanstalkProducer
+ extends
+ BeanstalkCommon<BeanstalkProducer> {
}
public static enum BeanstalkCommand {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java
index cb1cf7f..221b682 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java
@@ -31,69 +31,131 @@ import org.apache.camel.spi.ExceptionHandler;
public class BlobServiceEndpoint {
- public static class BlobServiceCommon extends EndpointConfiguration {
+ public static class BlobServiceCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String containerOrBlobUri;
+ private Object azureBlobClient;
+ private Long blobOffset;
+ private BlobType blobType;
+ private Boolean closeStreamAfterRead;
+ private Object credentials;
+ private Long dataLength;
+ private String fileDir;
+ private Boolean publicForRead;
+ private Integer streamReadSize;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Container or Blob compact Uri. The option is a java.lang.String type.
*/
- private String containerOrBlobUri;
+ public T containerOrBlobUri(String containerOrBlobUri) {
+ this.containerOrBlobUri = containerOrBlobUri;
+ return (T) this;
+ }
+
/**
* The blob service client. The option is a
* com.microsoft.azure.storage.blob.CloudBlob type.
*/
- private Object azureBlobClient;
+ public T azureBlobClient(Object azureBlobClient) {
+ this.azureBlobClient = azureBlobClient;
+ return (T) this;
+ }
+
/**
* Set the blob offset for the upload or download operations, default is
* 0. The option is a java.lang.Long type.
*/
- private Long blobOffset;
+ public T blobOffset(Long blobOffset) {
+ this.blobOffset = blobOffset;
+ return (T) this;
+ }
+
/**
* Set a blob type, 'blockblob' is default. The option is a
* org.apache.camel.component.azure.blob.BlobType type.
*/
- private BlobType blobType;
+ public T blobType(BlobType blobType) {
+ this.blobType = blobType;
+ return (T) this;
+ }
+
/**
* Close the stream after read or keep it open, default is true. The
* option is a boolean type.
*/
- private Boolean closeStreamAfterRead;
+ public T closeStreamAfterRead(boolean closeStreamAfterRead) {
+ this.closeStreamAfterRead = closeStreamAfterRead;
+ return (T) this;
+ }
+
/**
* Set the storage credentials, required in most cases. The option is a
* com.microsoft.azure.storage.StorageCredentials type.
*/
- private Object credentials;
+ public T credentials(Object credentials) {
+ this.credentials = credentials;
+ return (T) this;
+ }
+
/**
* Set the data length for the download or page blob upload operations.
* The option is a java.lang.Long type.
*/
- private Long dataLength;
+ public T dataLength(Long dataLength) {
+ this.dataLength = dataLength;
+ return (T) this;
+ }
+
/**
* Set the file directory where the downloaded blobs will be saved to.
* The option is a java.lang.String type.
*/
- private String fileDir;
+ public T fileDir(String fileDir) {
+ this.fileDir = fileDir;
+ return (T) this;
+ }
+
/**
* Storage resources can be public for reading their content, if this
* property is enabled then the credentials do not have to be set. The
* option is a boolean type.
*/
- private Boolean publicForRead;
+ public T publicForRead(boolean publicForRead) {
+ this.publicForRead = publicForRead;
+ return (T) this;
+ }
+
/**
* Set the minimum read size in bytes when reading the blob content. The
* option is a int type.
*/
- private Integer streamReadSize;
+ public T streamReadSize(int streamReadSize) {
+ this.streamReadSize = streamReadSize;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getContainerOrBlobUri() {
return containerOrBlobUri;
@@ -192,7 +254,13 @@ public class BlobServiceEndpoint {
}
}
- public static class BlobServiceConsumer extends BlobServiceCommon {
+ public static class BlobServiceConsumer
+ extends
+ BlobServiceCommon<BlobServiceConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -202,7 +270,11 @@ public class BlobServiceEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public BlobServiceConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (BlobServiceConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -210,12 +282,21 @@ public class BlobServiceEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public BlobServiceConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (BlobServiceConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public BlobServiceConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (BlobServiceConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -242,37 +323,70 @@ public class BlobServiceEndpoint {
}
}
- public static class BlobServiceProducer extends BlobServiceCommon {
+ public static class BlobServiceProducer
+ extends
+ BlobServiceCommon<BlobServiceProducer> {
+ private Map<String, String> blobMetadata;
+ private String blobPrefix;
+ private Boolean closeStreamAfterWrite;
+ private BlobServiceOperations operation;
+ private Integer streamWriteSize;
+ private Boolean useFlatListing;
+
/**
* Set the blob meta-data. The option is a
* java.util.Map<java.lang.String,java.lang.String> type.
*/
- private Map<String, String> blobMetadata;
+ public BlobServiceProducer blobMetadata(Map<String, String> blobMetadata) {
+ this.blobMetadata = blobMetadata;
+ return (BlobServiceProducer) this;
+ }
+
/**
* Set a prefix which can be used for listing the blobs. The option is a
* java.lang.String type.
*/
- private String blobPrefix;
+ public BlobServiceProducer blobPrefix(String blobPrefix) {
+ this.blobPrefix = blobPrefix;
+ return (BlobServiceProducer) this;
+ }
+
/**
* Close the stream after write or keep it open, default is true. The
* option is a boolean type.
*/
- private Boolean closeStreamAfterWrite;
+ public BlobServiceProducer closeStreamAfterWrite(
+ boolean closeStreamAfterWrite) {
+ this.closeStreamAfterWrite = closeStreamAfterWrite;
+ return (BlobServiceProducer) this;
+ }
+
/**
* Blob service operation hint to the producer. The option is a
* org.apache.camel.component.azure.blob.BlobServiceOperations type.
*/
- private BlobServiceOperations operation;
+ public BlobServiceProducer operation(BlobServiceOperations operation) {
+ this.operation = operation;
+ return (BlobServiceProducer) this;
+ }
+
/**
* Set the size of the buffer for writing block and page blocks. The
* option is a int type.
*/
- private Integer streamWriteSize;
+ public BlobServiceProducer streamWriteSize(int streamWriteSize) {
+ this.streamWriteSize = streamWriteSize;
+ return (BlobServiceProducer) this;
+ }
+
/**
* Specify if the flat or hierarchical blob listing should be used. The
* option is a boolean type.
*/
- private Boolean useFlatListing;
+ public BlobServiceProducer useFlatListing(boolean useFlatListing) {
+ this.useFlatListing = useFlatListing;
+ return (BlobServiceProducer) this;
+ }
public Map<String, String> getBlobMetadata() {
return blobMetadata;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java
index 2bc4718..0e4cbea 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java
@@ -29,49 +29,91 @@ import org.apache.camel.spi.ExceptionHandler;
public class BonitaEndpoint {
- public static class BonitaCommon extends EndpointConfiguration {
+ public static class BonitaCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private BonitaOperation operation;
+ private String hostname;
+ private String port;
+ private String processName;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+ private String password;
+ private String username;
+
/**
* Operation to use. The option is a
* org.apache.camel.component.bonita.util.BonitaOperation type.
*/
- private BonitaOperation operation;
+ public T operation(BonitaOperation operation) {
+ this.operation = operation;
+ return (T) this;
+ }
+
/**
* Hostname where Bonita engine runs. The option is a java.lang.String
* type.
*/
- private String hostname;
+ public T hostname(String hostname) {
+ this.hostname = hostname;
+ return (T) this;
+ }
+
/**
* Port of the server hosting Bonita engine. The option is a
* java.lang.String type.
*/
- private String port;
+ public T port(String port) {
+ this.port = port;
+ return (T) this;
+ }
+
/**
* Name of the process involved in the operation. The option is a
* java.lang.String type.
*/
- private String processName;
+ public T processName(String processName) {
+ this.processName = processName;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* Password to authenticate to Bonita engine. The option is a
* java.lang.String type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Username to authenticate to Bonita engine. The option is a
* java.lang.String type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
public BonitaOperation getOperation() {
return operation;
@@ -138,7 +180,11 @@ public class BonitaEndpoint {
}
}
- public static class BonitaConsumer extends BonitaCommon {
+ public static class BonitaConsumer extends BonitaCommon<BonitaConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -148,7 +194,11 @@ public class BonitaEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public BonitaConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (BonitaConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -156,12 +206,19 @@ public class BonitaEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public BonitaConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (BonitaConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public BonitaConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (BonitaConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -188,7 +245,7 @@ public class BonitaEndpoint {
}
}
- public static class BonitaProducer extends BonitaCommon {
+ public static class BonitaProducer extends BonitaCommon<BonitaProducer> {
}
public static enum BonitaOperation {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java
index 2303c19..3083c43 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java
@@ -31,110 +31,212 @@ import org.apache.camel.spi.ExceptionHandler;
public class BoxEndpoint {
- public static class BoxCommon extends EndpointConfiguration {
+ public static class BoxCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private BoxApiName apiName;
+ private String methodName;
+ private String clientId;
+ private String enterpriseId;
+ private String inBody;
+ private String userId;
+ private Boolean basicPropertyBinding;
+ private Map<String, Object> httpParams;
+ private Boolean synchronous;
+ private Object accessTokenCache;
+ private String clientSecret;
+ private EncryptionAlgorithm encryptionAlgorithm;
+ private Integer maxCacheEntries;
+ private String authenticationType;
+ private String privateKeyFile;
+ private String privateKeyPassword;
+ private String publicKeyId;
+ private Object sslContextParameters;
+ private String userName;
+ private String userPassword;
+
/**
* What kind of operation to perform. The option is a
* org.apache.camel.component.box.internal.BoxApiName type.
*/
- private BoxApiName apiName;
+ public T apiName(BoxApiName apiName) {
+ this.apiName = apiName;
+ return (T) this;
+ }
+
/**
* What sub operation to use for the selected operation. The option is a
* java.lang.String type.
*/
- private String methodName;
+ public T methodName(String methodName) {
+ this.methodName = methodName;
+ return (T) this;
+ }
+
/**
* Box application client ID. The option is a java.lang.String type.
*/
- private String clientId;
+ public T clientId(String clientId) {
+ this.clientId = clientId;
+ return (T) this;
+ }
+
/**
* The enterprise ID to use for an App Enterprise. The option is a
* java.lang.String type.
*/
- private String enterpriseId;
+ public T enterpriseId(String enterpriseId) {
+ this.enterpriseId = enterpriseId;
+ return (T) this;
+ }
+
/**
* Sets the name of a parameter to be passed in the exchange In Body.
* The option is a java.lang.String type.
*/
- private String inBody;
+ public T inBody(String inBody) {
+ this.inBody = inBody;
+ return (T) this;
+ }
+
/**
* The user ID to use for an App User. The option is a java.lang.String
* type.
*/
- private String userId;
+ public T userId(String userId) {
+ this.userId = userId;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Custom HTTP params for settings like proxy host. The option is a
* java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> httpParams;
+ public T httpParams(Map<String, Object> httpParams) {
+ this.httpParams = httpParams;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* Custom Access Token Cache for storing and retrieving access tokens.
* The option is a com.box.sdk.IAccessTokenCache type.
*/
- private Object accessTokenCache;
+ public T accessTokenCache(Object accessTokenCache) {
+ this.accessTokenCache = accessTokenCache;
+ return (T) this;
+ }
+
/**
* Box application client secret. The option is a java.lang.String type.
*/
- private String clientSecret;
+ public T clientSecret(String clientSecret) {
+ this.clientSecret = clientSecret;
+ return (T) this;
+ }
+
/**
* The type of encryption algorithm for JWT. Supported Algorithms:
* RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. The option is a
* com.box.sdk.EncryptionAlgorithm type.
*/
- private EncryptionAlgorithm encryptionAlgorithm;
+ public T encryptionAlgorithm(EncryptionAlgorithm encryptionAlgorithm) {
+ this.encryptionAlgorithm = encryptionAlgorithm;
+ return (T) this;
+ }
+
/**
* The maximum number of access tokens in cache. The option is a int
* type.
*/
- private Integer maxCacheEntries;
+ public T maxCacheEntries(int maxCacheEntries) {
+ this.maxCacheEntries = maxCacheEntries;
+ return (T) this;
+ }
+
/**
* The type of authentication for connection. Types of Authentication:
* STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION
* - OAuth 2.0 with JSON Web Tokens. The option is a java.lang.String
* type.
*/
- private String authenticationType;
+ public T authenticationType(String authenticationType) {
+ this.authenticationType = authenticationType;
+ return (T) this;
+ }
+
/**
* The private key for generating the JWT signature. The option is a
* java.lang.String type.
*/
- private String privateKeyFile;
+ public T privateKeyFile(String privateKeyFile) {
+ this.privateKeyFile = privateKeyFile;
+ return (T) this;
+ }
+
/**
* The password for the private key. The option is a java.lang.String
* type.
*/
- private String privateKeyPassword;
+ public T privateKeyPassword(String privateKeyPassword) {
+ this.privateKeyPassword = privateKeyPassword;
+ return (T) this;
+ }
+
/**
* The ID for public key for validating the JWT signature. The option is
* a java.lang.String type.
*/
- private String publicKeyId;
+ public T publicKeyId(String publicKeyId) {
+ this.publicKeyId = publicKeyId;
+ return (T) this;
+ }
+
/**
* To configure security using SSLContextParameters. The option is a
* org.apache.camel.support.jsse.SSLContextParameters type.
*/
- private Object sslContextParameters;
+ public T sslContextParameters(Object sslContextParameters) {
+ this.sslContextParameters = sslContextParameters;
+ return (T) this;
+ }
+
/**
* Box user name, MUST be provided. The option is a java.lang.String
* type.
*/
- private String userName;
+ public T userName(String userName) {
+ this.userName = userName;
+ return (T) this;
+ }
+
/**
* Box user password, MUST be provided if authSecureStorage is not set,
* or returns null on first call. The option is a java.lang.String type.
*/
- private String userPassword;
+ public T userPassword(String userPassword) {
+ this.userPassword = userPassword;
+ return (T) this;
+ }
public BoxApiName getApiName() {
return apiName;
@@ -298,7 +400,11 @@ public class BoxEndpoint {
}
}
- public static class BoxConsumer extends BoxCommon {
+ public static class BoxConsumer extends BoxCommon<BoxConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -308,7 +414,11 @@ public class BoxEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public BoxConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (BoxConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -316,12 +426,19 @@ public class BoxEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public BoxConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (BoxConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public BoxConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (BoxConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -348,7 +465,7 @@ public class BoxEndpoint {
}
}
- public static class BoxProducer extends BoxCommon {
+ public static class BoxProducer extends BoxCommon<BoxProducer> {
}
public static enum BoxApiName {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java
index cad7666..6be665e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java
@@ -31,79 +31,151 @@ import org.apache.camel.spi.ExceptionHandler;
public class BraintreeEndpoint {
- public static class BraintreeCommon extends EndpointConfiguration {
+ public static class BraintreeCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private BraintreeApiName apiName;
+ private String methodName;
+ private String environment;
+ private String inBody;
+ private String merchantId;
+ private String privateKey;
+ private String publicKey;
+ private String accessToken;
+ private Boolean basicPropertyBinding;
+ private Integer httpReadTimeout;
+ private Boolean synchronous;
+ private Level httpLogLevel;
+ private String proxyHost;
+ private Integer proxyPort;
+
/**
* What kind of operation to perform. The option is a
* org.apache.camel.component.braintree.internal.BraintreeApiName type.
*/
- private BraintreeApiName apiName;
+ public T apiName(BraintreeApiName apiName) {
+ this.apiName = apiName;
+ return (T) this;
+ }
+
/**
* What sub operation to use for the selected operation. The option is a
* java.lang.String type.
*/
- private String methodName;
+ public T methodName(String methodName) {
+ this.methodName = methodName;
+ return (T) this;
+ }
+
/**
* The environment Either SANDBOX or PRODUCTION. The option is a
* java.lang.String type.
*/
- private String environment;
+ public T environment(String environment) {
+ this.environment = environment;
+ return (T) this;
+ }
+
/**
* Sets the name of a parameter to be passed in the exchange In Body.
* The option is a java.lang.String type.
*/
- private String inBody;
+ public T inBody(String inBody) {
+ this.inBody = inBody;
+ return (T) this;
+ }
+
/**
* The merchant id provided by Braintree. The option is a
* java.lang.String type.
*/
- private String merchantId;
+ public T merchantId(String merchantId) {
+ this.merchantId = merchantId;
+ return (T) this;
+ }
+
/**
* The private key provided by Braintree. The option is a
* java.lang.String type.
*/
- private String privateKey;
+ public T privateKey(String privateKey) {
+ this.privateKey = privateKey;
+ return (T) this;
+ }
+
/**
* The public key provided by Braintree. The option is a
* java.lang.String type.
*/
- private String publicKey;
+ public T publicKey(String publicKey) {
+ this.publicKey = publicKey;
+ return (T) this;
+ }
+
/**
* The access token granted by a merchant to another in order to process
* transactions on their behalf. Used in place of environment, merchant
* id, public key and private key fields. The option is a
* java.lang.String type.
*/
- private String accessToken;
+ public T accessToken(String accessToken) {
+ this.accessToken = accessToken;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Set read timeout for http calls. The option is a java.lang.Integer
* type.
*/
- private Integer httpReadTimeout;
+ public T httpReadTimeout(Integer httpReadTimeout) {
+ this.httpReadTimeout = httpReadTimeout;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* Set logging level for http calls, see java.util.logging.Level. The
* option is a java.lang.String type.
*/
- private Level httpLogLevel;
+ public T httpLogLevel(Level httpLogLevel) {
+ this.httpLogLevel = httpLogLevel;
+ return (T) this;
+ }
+
/**
* The proxy host. The option is a java.lang.String type.
*/
- private String proxyHost;
+ public T proxyHost(String proxyHost) {
+ this.proxyHost = proxyHost;
+ return (T) this;
+ }
+
/**
* The proxy port. The option is a java.lang.Integer type.
*/
- private Integer proxyPort;
+ public T proxyPort(Integer proxyPort) {
+ this.proxyPort = proxyPort;
+ return (T) this;
+ }
public BraintreeApiName getApiName() {
return apiName;
@@ -218,7 +290,13 @@ public class BraintreeEndpoint {
}
}
- public static class BraintreeConsumer extends BraintreeCommon {
+ public static class BraintreeConsumer
+ extends
+ BraintreeCommon<BraintreeConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -228,7 +306,11 @@ public class BraintreeEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public BraintreeConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (BraintreeConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -236,12 +318,20 @@ public class BraintreeEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public BraintreeConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (BraintreeConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public BraintreeConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (BraintreeConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -268,7 +358,9 @@ public class BraintreeEndpoint {
}
}
- public static class BraintreeProducer extends BraintreeCommon {
+ public static class BraintreeProducer
+ extends
+ BraintreeCommon<BraintreeProducer> {
}
public static enum BraintreeApiName {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java
index 0167859..5ce713e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java
@@ -30,24 +30,41 @@ import org.apache.camel.spi.ExceptionHandler;
public class BrowseEndpoint {
- public static class BrowseCommon extends EndpointConfiguration {
+ public static class BrowseCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String name;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* A name which can be any string to uniquely identify the endpoint. The
* option is a java.lang.String type.
*/
- private String name;
+ public T name(String name) {
+ this.name = name;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getName() {
return name;
@@ -74,7 +91,11 @@ public class BrowseEndpoint {
}
}
- public static class BrowseConsumer extends BrowseCommon {
+ public static class BrowseConsumer extends BrowseCommon<BrowseConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -84,7 +105,11 @@ public class BrowseEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public BrowseConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (BrowseConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -92,12 +117,19 @@ public class BrowseEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public BrowseConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (BrowseConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public BrowseConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (BrowseConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -124,6 +156,6 @@ public class BrowseEndpoint {
}
}
- public static class BrowseProducer extends BrowseCommon {
+ public static class BrowseProducer extends BrowseCommon<BrowseProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java
index 3fcc8e0..6090469 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java
@@ -27,17 +27,35 @@ import javax.annotation.Generated;
public class CMEndpoint {
- public static class CMCommon extends EndpointConfiguration {
+ public static class CMCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String host;
+ private String defaultFrom;
+ private Integer defaultMaxNumberOfParts;
+ private String productToken;
+ private Boolean testConnectionOnStartup;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* SMS Provider HOST with scheme. The option is a java.lang.String type.
*/
- private String host;
+ public T host(String host) {
+ this.host = host;
+ return (T) this;
+ }
+
/**
* This is the sender name. The maximum length is 11 characters. The
* option is a
* (@javax.validation.constraints.NotNull,@javax.validation.constraints.Size(min=1, max=11) :: java.lang.String) type.
*/
- private String defaultFrom;
+ public T defaultFrom(String defaultFrom) {
+ this.defaultFrom = defaultFrom;
+ return (T) this;
+ }
+
/**
* If it is a multipart message forces the max number. Message can be
* truncated. Technically the gateway will first check if a message is
@@ -46,29 +64,48 @@ public class CMEndpoint {
* is a
* (@javax.validation.constraints.Min(1L),@javax.validation.constraints.Max(8L) :: int) type.
*/
- private Integer defaultMaxNumberOfParts;
+ public T defaultMaxNumberOfParts(int defaultMaxNumberOfParts) {
+ this.defaultMaxNumberOfParts = defaultMaxNumberOfParts;
+ return (T) this;
+ }
+
/**
* The unique token to use. The option is a
* (@javax.validation.constraints.NotNull :: java.lang.String) type.
*/
- private String productToken;
+ public T productToken(String productToken) {
+ this.productToken = productToken;
+ return (T) this;
+ }
+
/**
* Whether to test the connection to the SMS Gateway on startup. The
* option is a boolean type.
*/
- private Boolean testConnectionOnStartup;
+ public T testConnectionOnStartup(boolean testConnectionOnStartup) {
+ this.testConnectionOnStartup = testConnectionOnStartup;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getHost() {
return host;
@@ -127,9 +164,9 @@ public class CMEndpoint {
}
}
- public static class CMConsumer extends CMCommon {
+ public static class CMConsumer extends CMCommon<CMConsumer> {
}
- public static class CMProducer extends CMCommon {
+ public static class CMProducer extends CMCommon<CMProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java
index f0e31e3..4afd034 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java
@@ -30,57 +30,109 @@ import org.apache.camel.spi.ExceptionHandler;
public class CMISEndpoint {
- public static class CMISCommon extends EndpointConfiguration {
+ public static class CMISCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String cmsUrl;
+ private Integer pageSize;
+ private Boolean readContent;
+ private Integer readCount;
+ private String repositoryId;
+ private Boolean basicPropertyBinding;
+ private Object sessionFacadeFactory;
+ private Boolean synchronous;
+ private String password;
+ private String username;
+
/**
* URL to the cmis repository. The option is a java.lang.String type.
*/
- private String cmsUrl;
+ public T cmsUrl(String cmsUrl) {
+ this.cmsUrl = cmsUrl;
+ return (T) this;
+ }
+
/**
* Number of nodes to retrieve per page. The option is a int type.
*/
- private Integer pageSize;
+ public T pageSize(int pageSize) {
+ this.pageSize = pageSize;
+ return (T) this;
+ }
+
/**
* If set to true, the content of document node will be retrieved in
* addition to the properties. The option is a boolean type.
*/
- private Boolean readContent;
+ public T readContent(boolean readContent) {
+ this.readContent = readContent;
+ return (T) this;
+ }
+
/**
* Max number of nodes to read. The option is a int type.
*/
- private Integer readCount;
+ public T readCount(int readCount) {
+ this.readCount = readCount;
+ return (T) this;
+ }
+
/**
* The Id of the repository to use. If not specified the first available
* repository is used. The option is a java.lang.String type.
*/
- private String repositoryId;
+ public T repositoryId(String repositoryId) {
+ this.repositoryId = repositoryId;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* To use a custom CMISSessionFacadeFactory to create the
* CMISSessionFacade instances. The option is a
* org.apache.camel.component.cmis.CMISSessionFacadeFactory type.
*/
- private Object sessionFacadeFactory;
+ public T sessionFacadeFactory(Object sessionFacadeFactory) {
+ this.sessionFacadeFactory = sessionFacadeFactory;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* Password for the cmis repository. The option is a java.lang.String
* type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Username for the cmis repository. The option is a java.lang.String
* type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
public String getCmsUrl() {
return cmsUrl;
@@ -163,7 +215,12 @@ public class CMISEndpoint {
}
}
- public static class CMISConsumer extends CMISCommon {
+ public static class CMISConsumer extends CMISCommon<CMISConsumer> {
+ private Boolean bridgeErrorHandler;
+ private String query;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -173,14 +230,22 @@ public class CMISEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public CMISConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (CMISConsumer) this;
+ }
+
/**
* The cmis query to execute against the repository. If not specified,
* the consumer will retrieve every node from the content repository by
* iterating the content tree recursively. The option is a
* java.lang.String type.
*/
- private String query;
+ public CMISConsumer query(String query) {
+ this.query = query;
+ return (CMISConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -188,12 +253,19 @@ public class CMISEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public CMISConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (CMISConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public CMISConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (CMISConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -228,13 +300,18 @@ public class CMISEndpoint {
}
}
- public static class CMISProducer extends CMISCommon {
+ public static class CMISProducer extends CMISCommon<CMISProducer> {
+ private Boolean queryMode;
+
/**
* If true, will execute the cmis query from the message body and return
* result, otherwise will create a node in the cmis repository. The
* option is a boolean type.
*/
- private Boolean queryMode;
+ public CMISProducer queryMode(boolean queryMode) {
+ this.queryMode = queryMode;
+ return (CMISProducer) this;
+ }
public Boolean getQueryMode() {
return queryMode;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java
index ffa55fa..5a5b93e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java
@@ -29,38 +29,70 @@ import org.apache.camel.spi.ExceptionHandler;
public class CaffeineCacheEndpoint {
- public static class CaffeineCacheCommon extends EndpointConfiguration {
+ public static class CaffeineCacheCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String cacheName;
+ private Boolean createCacheIfNotExist;
+ private Boolean basicPropertyBinding;
+ private Class<Object> keyType;
+ private Boolean synchronous;
+ private Class<Object> valueType;
+
/**
* the cache name. The option is a java.lang.String type.
*/
- private String cacheName;
+ public T cacheName(String cacheName) {
+ this.cacheName = cacheName;
+ return (T) this;
+ }
+
/**
* Configure if a cache need to be created if it does exist or can't be
* pre-configured. The option is a boolean type.
*/
- private Boolean createCacheIfNotExist;
+ public T createCacheIfNotExist(boolean createCacheIfNotExist) {
+ this.createCacheIfNotExist = createCacheIfNotExist;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cache key type, default java.lang.Object. The option is a
* java.lang.String type.
*/
- private Class<Object> keyType;
+ public T keyType(Class<Object> keyType) {
+ this.keyType = keyType;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* The cache value type, default java.lang.Object. The option is a
* java.lang.String type.
*/
- private Class<Object> valueType;
+ public T valueType(Class<Object> valueType) {
+ this.valueType = valueType;
+ return (T) this;
+ }
public String getCacheName() {
return cacheName;
@@ -111,7 +143,13 @@ public class CaffeineCacheEndpoint {
}
}
- public static class CaffeineCacheConsumer extends CaffeineCacheCommon {
+ public static class CaffeineCacheConsumer
+ extends
+ CaffeineCacheCommon<CaffeineCacheConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -121,7 +159,12 @@ public class CaffeineCacheEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public CaffeineCacheConsumer bridgeErrorHandler(
+ boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (CaffeineCacheConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -129,12 +172,21 @@ public class CaffeineCacheEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public CaffeineCacheConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (CaffeineCacheConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public CaffeineCacheConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (CaffeineCacheConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -161,66 +213,130 @@ public class CaffeineCacheEndpoint {
}
}
- public static class CaffeineCacheProducer extends CaffeineCacheCommon {
+ public static class CaffeineCacheProducer
+ extends
+ CaffeineCacheCommon<CaffeineCacheProducer> {
+ private String action;
+ private Object cache;
+ private Object cacheLoader;
+ private EvictionType evictionType;
+ private Integer expireAfterAccessTime;
+ private Integer expireAfterWriteTime;
+ private Integer initialCapacity;
+ private Object key;
+ private Integer maximumSize;
+ private Object removalListener;
+ private Object statsCounter;
+ private Boolean statsEnabled;
+
/**
* To configure the default cache action. If an action is set in the
* message header, then the operation from the header takes precedence.
* The option is a java.lang.String type.
*/
- private String action;
+ public CaffeineCacheProducer action(String action) {
+ this.action = action;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* To configure an already instantiated cache to be used. The option is
* a com.github.benmanes.caffeine.cache.Cache type.
*/
- private Object cache;
+ public CaffeineCacheProducer cache(Object cache) {
+ this.cache = cache;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* To configure a CacheLoader in case of a LoadCache use. The option is
* a com.github.benmanes.caffeine.cache.CacheLoader type.
*/
- private Object cacheLoader;
+ public CaffeineCacheProducer cacheLoader(Object cacheLoader) {
+ this.cacheLoader = cacheLoader;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set the eviction Type for this cache. The option is a
* org.apache.camel.component.caffeine.EvictionType type.
*/
- private EvictionType evictionType;
+ public CaffeineCacheProducer evictionType(EvictionType evictionType) {
+ this.evictionType = evictionType;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set the expire After Access Time in case of time based Eviction (in
* seconds). The option is a int type.
*/
- private Integer expireAfterAccessTime;
+ public CaffeineCacheProducer expireAfterAccessTime(
+ int expireAfterAccessTime) {
+ this.expireAfterAccessTime = expireAfterAccessTime;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set the expire After Access Write in case of time based Eviction (in
* seconds). The option is a int type.
*/
- private Integer expireAfterWriteTime;
+ public CaffeineCacheProducer expireAfterWriteTime(
+ int expireAfterWriteTime) {
+ this.expireAfterWriteTime = expireAfterWriteTime;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set the initial Capacity for the cache. The option is a int type.
*/
- private Integer initialCapacity;
+ public CaffeineCacheProducer initialCapacity(int initialCapacity) {
+ this.initialCapacity = initialCapacity;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* To configure the default action key. If a key is set in the message
* header, then the key from the header takes precedence. The option is
* a java.lang.Object type.
*/
- private Object key;
+ public CaffeineCacheProducer key(Object key) {
+ this.key = key;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set the maximum size for the cache. The option is a int type.
*/
- private Integer maximumSize;
+ public CaffeineCacheProducer maximumSize(int maximumSize) {
+ this.maximumSize = maximumSize;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set a specific removal Listener for the cache. The option is a
* com.github.benmanes.caffeine.cache.RemovalListener type.
*/
- private Object removalListener;
+ public CaffeineCacheProducer removalListener(Object removalListener) {
+ this.removalListener = removalListener;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* Set a specific Stats Counter for the cache stats. The option is a
* com.github.benmanes.caffeine.cache.stats.StatsCounter type.
*/
- private Object statsCounter;
+ public CaffeineCacheProducer statsCounter(Object statsCounter) {
+ this.statsCounter = statsCounter;
+ return (CaffeineCacheProducer) this;
+ }
+
/**
* To enable stats on the cache. The option is a boolean type.
*/
- private Boolean statsEnabled;
+ public CaffeineCacheProducer statsEnabled(boolean statsEnabled) {
+ this.statsEnabled = statsEnabled;
+ return (CaffeineCacheProducer) this;
+ }
public String getAction() {
return action;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java
index c6658be..072e659 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java
@@ -30,38 +30,70 @@ import org.apache.camel.spi.ExceptionHandler;
public class CaffeineLoadCacheEndpoint {
- public static class CaffeineLoadCacheCommon extends EndpointConfiguration {
+ public static class CaffeineLoadCacheCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String cacheName;
+ private Boolean createCacheIfNotExist;
+ private Boolean basicPropertyBinding;
+ private Class<Object> keyType;
+ private Boolean synchronous;
+ private Class<Object> valueType;
+
/**
* the cache name. The option is a java.lang.String type.
*/
- private String cacheName;
+ public T cacheName(String cacheName) {
+ this.cacheName = cacheName;
+ return (T) this;
+ }
+
/**
* Configure if a cache need to be created if it does exist or can't be
* pre-configured. The option is a boolean type.
*/
- private Boolean createCacheIfNotExist;
+ public T createCacheIfNotExist(boolean createCacheIfNotExist) {
+ this.createCacheIfNotExist = createCacheIfNotExist;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* The cache key type, default java.lang.Object. The option is a
* java.lang.String type.
*/
- private Class<Object> keyType;
+ public T keyType(Class<Object> keyType) {
+ this.keyType = keyType;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* The cache value type, default java.lang.Object. The option is a
* java.lang.String type.
*/
- private Class<Object> valueType;
+ public T valueType(Class<Object> valueType) {
+ this.valueType = valueType;
+ return (T) this;
+ }
public String getCacheName() {
return cacheName;
@@ -114,7 +146,11 @@ public class CaffeineLoadCacheEndpoint {
public static class CaffeineLoadCacheConsumer
extends
- CaffeineLoadCacheCommon {
+ CaffeineLoadCacheCommon<CaffeineLoadCacheConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -124,7 +160,12 @@ public class CaffeineLoadCacheEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public CaffeineLoadCacheConsumer bridgeErrorHandler(
+ boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (CaffeineLoadCacheConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -132,12 +173,21 @@ public class CaffeineLoadCacheEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public CaffeineLoadCacheConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (CaffeineLoadCacheConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public CaffeineLoadCacheConsumer exchangePattern(
+ ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (CaffeineLoadCacheConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -166,66 +216,128 @@ public class CaffeineLoadCacheEndpoint {
public static class CaffeineLoadCacheProducer
extends
- CaffeineLoadCacheCommon {
+ CaffeineLoadCacheCommon<CaffeineLoadCacheProducer> {
+ private String action;
+ private Object cache;
+ private Object cacheLoader;
+ private EvictionType evictionType;
+ private Integer expireAfterAccessTime;
+ private Integer expireAfterWriteTime;
+ private Integer initialCapacity;
+ private Object key;
+ private Integer maximumSize;
+ private Object removalListener;
+ private Object statsCounter;
+ private Boolean statsEnabled;
+
/**
* To configure the default cache action. If an action is set in the
* message header, then the operation from the header takes precedence.
* The option is a java.lang.String type.
*/
- private String action;
+ public CaffeineLoadCacheProducer action(String action) {
+ this.action = action;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* To configure an already instantiated cache to be used. The option is
* a com.github.benmanes.caffeine.cache.Cache type.
*/
- private Object cache;
+ public CaffeineLoadCacheProducer cache(Object cache) {
+ this.cache = cache;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* To configure a CacheLoader in case of a LoadCache use. The option is
* a com.github.benmanes.caffeine.cache.CacheLoader type.
*/
- private Object cacheLoader;
+ public CaffeineLoadCacheProducer cacheLoader(Object cacheLoader) {
+ this.cacheLoader = cacheLoader;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set the eviction Type for this cache. The option is a
* org.apache.camel.component.caffeine.EvictionType type.
*/
- private EvictionType evictionType;
+ public CaffeineLoadCacheProducer evictionType(EvictionType evictionType) {
+ this.evictionType = evictionType;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set the expire After Access Time in case of time based Eviction (in
* seconds). The option is a int type.
*/
- private Integer expireAfterAccessTime;
+ public CaffeineLoadCacheProducer expireAfterAccessTime(
+ int expireAfterAccessTime) {
+ this.expireAfterAccessTime = expireAfterAccessTime;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set the expire After Access Write in case of time based Eviction (in
* seconds). The option is a int type.
*/
- private Integer expireAfterWriteTime;
+ public CaffeineLoadCacheProducer expireAfterWriteTime(
+ int expireAfterWriteTime) {
+ this.expireAfterWriteTime = expireAfterWriteTime;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set the initial Capacity for the cache. The option is a int type.
*/
- private Integer initialCapacity;
+ public CaffeineLoadCacheProducer initialCapacity(int initialCapacity) {
+ this.initialCapacity = initialCapacity;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* To configure the default action key. If a key is set in the message
* header, then the key from the header takes precedence. The option is
* a java.lang.Object type.
*/
- private Object key;
+ public CaffeineLoadCacheProducer key(Object key) {
+ this.key = key;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set the maximum size for the cache. The option is a int type.
*/
- private Integer maximumSize;
+ public CaffeineLoadCacheProducer maximumSize(int maximumSize) {
+ this.maximumSize = maximumSize;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set a specific removal Listener for the cache. The option is a
* com.github.benmanes.caffeine.cache.RemovalListener type.
*/
- private Object removalListener;
+ public CaffeineLoadCacheProducer removalListener(Object removalListener) {
+ this.removalListener = removalListener;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* Set a specific Stats Counter for the cache stats. The option is a
* com.github.benmanes.caffeine.cache.stats.StatsCounter type.
*/
- private Object statsCounter;
+ public CaffeineLoadCacheProducer statsCounter(Object statsCounter) {
+ this.statsCounter = statsCounter;
+ return (CaffeineLoadCacheProducer) this;
+ }
+
/**
* To enable stats on the cache. The option is a boolean type.
*/
- private Boolean statsEnabled;
+ public CaffeineLoadCacheProducer statsEnabled(boolean statsEnabled) {
+ this.statsEnabled = statsEnabled;
+ return (CaffeineLoadCacheProducer) this;
+ }
public String getAction() {
return action;
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java
index 36942bf..16bbcdd 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java
@@ -36,88 +36,170 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
public class CassandraEndpoint {
- public static class CassandraCommon extends EndpointConfiguration {
+ public static class CassandraCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String beanRef;
+ private String hosts;
+ private Integer port;
+ private String keyspace;
+ private Object cluster;
+ private String clusterName;
+ private ConsistencyLevel consistencyLevel;
+ private String cql;
+ private String loadBalancingPolicy;
+ private String password;
+ private Boolean prepareStatements;
+ private Object resultSetConversionStrategy;
+ private Object session;
+ private String username;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* beanRef is defined using bean:id. The option is a java.lang.String
* type.
*/
- private String beanRef;
+ public T beanRef(String beanRef) {
+ this.beanRef = beanRef;
+ return (T) this;
+ }
+
/**
* Hostname(s) cassansdra server(s). Multiple hosts can be separated by
* comma. The option is a java.lang.String type.
*/
- private String hosts;
+ public T hosts(String hosts) {
+ this.hosts = hosts;
+ return (T) this;
+ }
+
/**
* Port number of cassansdra server(s). The option is a
* java.lang.Integer type.
*/
- private Integer port;
+ public T port(Integer port) {
+ this.port = port;
+ return (T) this;
+ }
+
/**
* Keyspace to use. The option is a java.lang.String type.
*/
- private String keyspace;
+ public T keyspace(String keyspace) {
+ this.keyspace = keyspace;
+ return (T) this;
+ }
+
/**
* To use the Cluster instance (you would normally not use this option).
* The option is a com.datastax.driver.core.Cluster type.
*/
- private Object cluster;
+ public T cluster(Object cluster) {
+ this.cluster = cluster;
+ return (T) this;
+ }
+
/**
* Cluster name. The option is a java.lang.String type.
*/
- private String clusterName;
+ public T clusterName(String clusterName) {
+ this.clusterName = clusterName;
+ return (T) this;
+ }
+
/**
* Consistency level to use. The option is a
* com.datastax.driver.core.ConsistencyLevel type.
*/
- private ConsistencyLevel consistencyLevel;
+ public T consistencyLevel(ConsistencyLevel consistencyLevel) {
+ this.consistencyLevel = consistencyLevel;
+ return (T) this;
+ }
+
/**
* CQL query to perform. Can be overridden with the message header with
* key CamelCqlQuery. The option is a java.lang.String type.
*/
- private String cql;
+ public T cql(String cql) {
+ this.cql = cql;
+ return (T) this;
+ }
+
/**
* To use a specific LoadBalancingPolicy. The option is a
* java.lang.String type.
*/
- private String loadBalancingPolicy;
+ public T loadBalancingPolicy(String loadBalancingPolicy) {
+ this.loadBalancingPolicy = loadBalancingPolicy;
+ return (T) this;
+ }
+
/**
* Password for session authentication. The option is a java.lang.String
* type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* Whether to use PreparedStatements or regular Statements. The option
* is a boolean type.
*/
- private Boolean prepareStatements;
+ public T prepareStatements(boolean prepareStatements) {
+ this.prepareStatements = prepareStatements;
+ return (T) this;
+ }
+
/**
* To use a custom class that implements logic for converting ResultSet
* into message body ALL, ONE, LIMIT_10, LIMIT_100... The option is a
* java.lang.String type.
*/
- private Object resultSetConversionStrategy;
+ public T resultSetConversionStrategy(Object resultSetConversionStrategy) {
+ this.resultSetConversionStrategy = resultSetConversionStrategy;
+ return (T) this;
+ }
+
/**
* To use the Session instance (you would normally not use this option).
* The option is a com.datastax.driver.core.Session type.
*/
- private Object session;
+ public T session(Object session) {
+ this.session = session;
+ return (T) this;
+ }
+
/**
* Username for session authentication. The option is a java.lang.String
* type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getBeanRef() {
return beanRef;
@@ -249,7 +331,28 @@ public class CassandraEndpoint {
}
}
- public static class CassandraConsumer extends CassandraCommon {
+ public static class CassandraConsumer
+ extends
+ CassandraCommon<CassandraConsumer> {
+ private Boolean bridgeErrorHandler;
+ private Boolean sendEmptyMessageWhenIdle;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+ private PollingConsumerPollStrategy pollStrategy;
+ private Integer backoffErrorThreshold;
+ private Integer backoffIdleThreshold;
+ private Integer backoffMultiplier;
+ private Long delay;
+ private Boolean greedy;
+ private Long initialDelay;
+ private LoggingLevel runLoggingLevel;
+ private ScheduledExecutorService scheduledExecutorService;
+ private ScheduledPollConsumerScheduler scheduler;
+ private Map<String, Object> schedulerProperties;
+ private Boolean startScheduler;
+ private TimeUnit timeUnit;
+ private Boolean useFixedDelay;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -259,13 +362,22 @@ public class CassandraEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public CassandraConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (CassandraConsumer) this;
+ }
+
/**
* If the polling consumer did not poll any files, you can enable this
* option to send an empty message (no body) instead. The option is a
* boolean type.
*/
- private Boolean sendEmptyMessageWhenIdle;
+ public CassandraConsumer sendEmptyMessageWhenIdle(
+ boolean sendEmptyMessageWhenIdle) {
+ this.sendEmptyMessageWhenIdle = sendEmptyMessageWhenIdle;
+ return (CassandraConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -273,12 +385,21 @@ public class CassandraEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public CassandraConsumer exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (CassandraConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public CassandraConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (CassandraConsumer) this;
+ }
+
/**
* A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
* you to provide your custom implementation to control error handling
@@ -286,18 +407,31 @@ public class CassandraEndpoint {
* been created and being routed in Camel. The option is a
* org.apache.camel.spi.PollingConsumerPollStrategy type.
*/
- private PollingConsumerPollStrategy pollStrategy;
+ public CassandraConsumer pollStrategy(
+ PollingConsumerPollStrategy pollStrategy) {
+ this.pollStrategy = pollStrategy;
+ return (CassandraConsumer) this;
+ }
+
/**
* The number of subsequent error polls (failed due some error) that
* should happen before the backoffMultipler should kick-in. The option
* is a int type.
*/
- private Integer backoffErrorThreshold;
+ public CassandraConsumer backoffErrorThreshold(int backoffErrorThreshold) {
+ this.backoffErrorThreshold = backoffErrorThreshold;
+ return (CassandraConsumer) this;
+ }
+
/**
* The number of subsequent idle polls that should happen before the
* backoffMultipler should kick-in. The option is a int type.
*/
- private Integer backoffIdleThreshold;
+ public CassandraConsumer backoffIdleThreshold(int backoffIdleThreshold) {
+ this.backoffIdleThreshold = backoffIdleThreshold;
+ return (CassandraConsumer) this;
+ }
+
/**
* To let the scheduled polling consumer backoff if there has been a
* number of subsequent idles/errors in a row. The multiplier is then
@@ -306,66 +440,112 @@ public class CassandraEndpoint {
* backoffIdleThreshold and/or backoffErrorThreshold must also be
* configured. The option is a int type.
*/
- private Integer backoffMultiplier;
+ public CassandraConsumer backoffMultiplier(int backoffMultiplier) {
+ this.backoffMultiplier = backoffMultiplier;
+ return (CassandraConsumer) this;
+ }
+
/**
* Milliseconds before the next poll. You can also specify time values
* using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long delay;
+ public CassandraConsumer delay(long delay) {
+ this.delay = delay;
+ return (CassandraConsumer) this;
+ }
+
/**
* If greedy is enabled, then the ScheduledPollConsumer will run
* immediately again, if the previous run polled 1 or more messages. The
* option is a boolean type.
*/
- private Boolean greedy;
+ public CassandraConsumer greedy(boolean greedy) {
+ this.greedy = greedy;
+ return (CassandraConsumer) this;
+ }
+
/**
* Milliseconds before the first poll starts. You can also specify time
* values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30
* seconds), and 1h (1 hour). The option is a long type.
*/
- private Long initialDelay;
+ public CassandraConsumer initialDelay(long initialDelay) {
+ this.initialDelay = initialDelay;
+ return (CassandraConsumer) this;
+ }
+
/**
* The consumer logs a start/complete log line when it polls. This
* option allows you to configure the logging level for that. The option
* is a org.apache.camel.LoggingLevel type.
*/
- private LoggingLevel runLoggingLevel;
+ public CassandraConsumer runLoggingLevel(LoggingLevel runLoggingLevel) {
+ this.runLoggingLevel = runLoggingLevel;
+ return (CassandraConsumer) this;
+ }
+
/**
* Allows for configuring a custom/shared thread pool to use for the
* consumer. By default each consumer has its own single threaded thread
* pool. The option is a java.util.concurrent.ScheduledExecutorService
* type.
*/
- private ScheduledExecutorService scheduledExecutorService;
+ public CassandraConsumer scheduledExecutorService(
+ ScheduledExecutorService scheduledExecutorService) {
+ this.scheduledExecutorService = scheduledExecutorService;
+ return (CassandraConsumer) this;
+ }
+
/**
* To use a cron scheduler from either camel-spring or camel-quartz2
* component. The option is a
* org.apache.camel.spi.ScheduledPollConsumerScheduler type.
*/
- private ScheduledPollConsumerScheduler scheduler;
+ public CassandraConsumer scheduler(
+ ScheduledPollConsumerScheduler scheduler) {
+ this.scheduler = scheduler;
+ return (CassandraConsumer) this;
+ }
+
/**
* To configure additional properties when using a custom scheduler or
* any of the Quartz2, Spring based scheduler. The option is a
* java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> schedulerProperties;
+ public CassandraConsumer schedulerProperties(
+ Map<String, Object> schedulerProperties) {
+ this.schedulerProperties = schedulerProperties;
+ return (CassandraConsumer) this;
+ }
+
/**
* Whether the scheduler should be auto started. The option is a boolean
* type.
*/
- private Boolean startScheduler;
+ public CassandraConsumer startScheduler(boolean startScheduler) {
+ this.startScheduler = startScheduler;
+ return (CassandraConsumer) this;
+ }
+
/**
* Time unit for initialDelay and delay options. The option is a
* java.util.concurrent.TimeUnit type.
*/
- private TimeUnit timeUnit;
+ public CassandraConsumer timeUnit(TimeUnit timeUnit) {
+ this.timeUnit = timeUnit;
+ return (CassandraConsumer) this;
+ }
+
/**
* Controls if fixed delay or fixed rate is used. See
* ScheduledExecutorService in JDK for details. The option is a boolean
* type.
*/
- private Boolean useFixedDelay;
+ public CassandraConsumer useFixedDelay(boolean useFixedDelay) {
+ this.useFixedDelay = useFixedDelay;
+ return (CassandraConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -514,7 +694,9 @@ public class CassandraEndpoint {
}
}
- public static class CassandraProducer extends CassandraCommon {
+ public static class CassandraProducer
+ extends
+ CassandraCommon<CassandraProducer> {
}
public static enum ConsistencyLevel {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java
index 8461e5e..f4bc080 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java
@@ -27,43 +27,80 @@ import javax.annotation.Generated;
public class ChatScriptEndpoint {
- public static class ChatScriptCommon extends EndpointConfiguration {
+ public static class ChatScriptCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String host;
+ private Integer port;
+ private String botName;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+ private Boolean resetchat;
+ private String chatUserName;
+
/**
* Hostname or IP of the server on which CS server is running. The
* option is a java.lang.String type.
*/
- private String host;
+ public T host(String host) {
+ this.host = host;
+ return (T) this;
+ }
+
/**
* Port on which ChatScript is listening to. The option is a int type.
*/
- private Integer port;
+ public T port(int port) {
+ this.port = port;
+ return (T) this;
+ }
+
/**
* Name of the Bot in CS to converse with. The option is a
* java.lang.String type.
*/
- private String botName;
+ public T botName(String botName) {
+ this.botName = botName;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* Issues :reset command to start a new conversation everytime. The
* option is a boolean type.
*/
- private Boolean resetchat;
+ public T resetchat(boolean resetchat) {
+ this.resetchat = resetchat;
+ return (T) this;
+ }
+
/**
* Username who initializes the CS conversation. To be set when chat is
* initialized from camel route. The option is a java.lang.String type.
*/
- private String chatUserName;
+ public T chatUserName(String chatUserName) {
+ this.chatUserName = chatUserName;
+ return (T) this;
+ }
public String getHost() {
return host;
@@ -122,9 +159,13 @@ public class ChatScriptEndpoint {
}
}
- public static class ChatScriptConsumer extends ChatScriptCommon {
+ public static class ChatScriptConsumer
+ extends
+ ChatScriptCommon<ChatScriptConsumer> {
}
- public static class ChatScriptProducer extends ChatScriptCommon {
+ public static class ChatScriptProducer
+ extends
+ ChatScriptCommon<ChatScriptProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java
index 9fdbe3e..c8083bb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java
@@ -27,7 +27,19 @@ import javax.annotation.Generated;
public class ChunkEndpoint {
- public static class ChunkCommon extends EndpointConfiguration {
+ public static class ChunkCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String resourceUri;
+ private Boolean contentCache;
+ private String encoding;
+ private String extension;
+ private String themeFolder;
+ private String themeLayer;
+ private String themeSubfolder;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* Path to the resource. You can prefix with: classpath, file, http,
* ref, or bean. classpath, file and http loads the resource using these
@@ -36,49 +48,84 @@ public class ChunkEndpoint {
* resource. For bean you can specify the method name after dot, eg
* bean:myBean.myMethod. The option is a java.lang.String type.
*/
- private String resourceUri;
+ public T resourceUri(String resourceUri) {
+ this.resourceUri = resourceUri;
+ return (T) this;
+ }
+
/**
* Sets whether to use resource content cache or not. The option is a
* boolean type.
*/
- private Boolean contentCache;
+ public T contentCache(boolean contentCache) {
+ this.contentCache = contentCache;
+ return (T) this;
+ }
+
/**
* Define the encoding of the body. The option is a java.lang.String
* type.
*/
- private String encoding;
+ public T encoding(String encoding) {
+ this.encoding = encoding;
+ return (T) this;
+ }
+
/**
* Define the file extension of the template. The option is a
* java.lang.String type.
*/
- private String extension;
+ public T extension(String extension) {
+ this.extension = extension;
+ return (T) this;
+ }
+
/**
* Define the themes folder to scan. The option is a java.lang.String
* type.
*/
- private String themeFolder;
+ public T themeFolder(String themeFolder) {
+ this.themeFolder = themeFolder;
+ return (T) this;
+ }
+
/**
* Define the theme layer to elaborate. The option is a java.lang.String
* type.
*/
- private String themeLayer;
+ public T themeLayer(String themeLayer) {
+ this.themeLayer = themeLayer;
+ return (T) this;
+ }
+
/**
* Define the themes subfolder to scan. The option is a java.lang.String
* type.
*/
- private String themeSubfolder;
+ public T themeSubfolder(String themeSubfolder) {
+ this.themeSubfolder = themeSubfolder;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getResourceUri() {
return resourceUri;
@@ -153,9 +200,9 @@ public class ChunkEndpoint {
}
}
- public static class ChunkConsumer extends ChunkCommon {
+ public static class ChunkConsumer extends ChunkCommon<ChunkConsumer> {
}
- public static class ChunkProducer extends ChunkCommon {
+ public static class ChunkProducer extends ChunkCommon<ChunkProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java
index a8e13f0..b521a83 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java
@@ -28,56 +28,113 @@ import javax.annotation.Generated;
public class CinderEndpoint {
- public static class CinderCommon extends EndpointConfiguration {
+ public static class CinderCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String host;
+ private String apiVersion;
+ private Object config;
+ private String domain;
+ private String operation;
+ private String password;
+ private String project;
+ private String subsystem;
+ private String username;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+
/**
* OpenStack host url. The option is a java.lang.String type.
*/
- private String host;
+ public T host(String host) {
+ this.host = host;
+ return (T) this;
+ }
+
/**
* OpenStack API version. The option is a java.lang.String type.
*/
- private String apiVersion;
+ public T apiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ return (T) this;
+ }
+
/**
* OpenStack configuration. The option is a
* org.openstack4j.core.transport.Config type.
*/
- private Object config;
+ public T config(Object config) {
+ this.config = config;
+ return (T) this;
+ }
+
/**
* Authentication domain. The option is a java.lang.String type.
*/
- private String domain;
+ public T domain(String domain) {
+ this.domain = domain;
+ return (T) this;
+ }
+
/**
* The operation to do. The option is a java.lang.String type.
*/
- private String operation;
+ public T operation(String operation) {
+ this.operation = operation;
+ return (T) this;
+ }
+
/**
* OpenStack password. The option is a java.lang.String type.
*/
- private String password;
+ public T password(String password) {
+ this.password = password;
+ return (T) this;
+ }
+
/**
* The project ID. The option is a java.lang.String type.
*/
- private String project;
+ public T project(String project) {
+ this.project = project;
+ return (T) this;
+ }
+
/**
* OpenStack Cinder subsystem. The option is a java.lang.String type.
*/
- private String subsystem;
+ public T subsystem(String subsystem) {
+ this.subsystem = subsystem;
+ return (T) this;
+ }
+
/**
* OpenStack username. The option is a java.lang.String type.
*/
- private String username;
+ public T username(String username) {
+ this.username = username;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getHost() {
return host;
@@ -168,9 +225,9 @@ public class CinderEndpoint {
}
}
- public static class CinderConsumer extends CinderCommon {
+ public static class CinderConsumer extends CinderCommon<CinderConsumer> {
}
- public static class CinderProducer extends CinderCommon {
+ public static class CinderProducer extends CinderCommon<CinderProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java
index e28bb7a..69522b7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java
@@ -28,40 +28,72 @@ import javax.annotation.Generated;
public class ClassEndpoint {
- public static class ClassCommon extends EndpointConfiguration {
+ public static class ClassCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private String beanName;
+ private String method;
+ private Boolean basicPropertyBinding;
+ private Boolean cache;
+ private Map<String, Object> parameters;
+ private Boolean synchronous;
+
/**
* Sets the name of the bean to invoke. The option is a java.lang.String
* type.
*/
- private String beanName;
+ public T beanName(String beanName) {
+ this.beanName = beanName;
+ return (T) this;
+ }
+
/**
* Sets the name of the method to invoke on the bean. The option is a
* java.lang.String type.
*/
- private String method;
+ public T method(String method) {
+ this.method = method;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* If enabled, Camel will cache the result of the first Registry
* look-up. Cache can be enabled if the bean in the Registry is defined
* as a singleton scope. The option is a java.lang.Boolean type.
*/
- private Boolean cache;
+ public T cache(Boolean cache) {
+ this.cache = cache;
+ return (T) this;
+ }
+
/**
* Used for configuring additional properties on the bean. The option is
* a java.util.Map<java.lang.String,java.lang.Object> type.
*/
- private Map<String, Object> parameters;
+ public T parameters(Map<String, Object> parameters) {
+ this.parameters = parameters;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
public String getBeanName() {
return beanName;
@@ -112,9 +144,9 @@ public class ClassEndpoint {
}
}
- public static class ClassConsumer extends ClassCommon {
+ public static class ClassConsumer extends ClassCommon<ClassConsumer> {
}
- public static class ClassProducer extends ClassCommon {
+ public static class ClassProducer extends ClassCommon<ClassProducer> {
}
}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java
index 979df2f..be66d59 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java
@@ -32,95 +32,189 @@ import org.apache.camel.spi.ExceptionHandler;
public class ClientEndpoint {
- public static class ClientCommon extends EndpointConfiguration {
+ public static class ClientCommon<T extends EndpointConfiguration>
+ extends
+ EndpointConfiguration<T> {
+ private Object uriPath;
+ private Object dataModuleOptions;
+ private Object protocolOptions;
+ private Boolean basicPropertyBinding;
+ private Boolean synchronous;
+ private Short acknowledgeWindow;
+ private ASDUAddressType adsuAddressType;
+ private CauseOfTransmissionType causeOfTransmissionType;
+ private InformationObjectAddressType informationObjectAddressType;
+ private Short maxUnacknowledged;
+ private Integer timeout1;
+ private Integer timeout2;
+ private Integer timeout3;
+ private Boolean causeSourceAddress;
+ private Boolean ignoreBackgroundScan;
+ private Boolean ignoreDaylightSavingTime;
+ private TimeZone timeZone;
+ private String connectionId;
+
/**
* The object information address. The option is a
* org.apache.camel.component.iec60870.ObjectAddress type.
*/
- private Object uriPath;
+ public T uriPath(Object uriPath) {
+ this.uriPath = uriPath;
+ return (T) this;
+ }
+
/**
* Data module options. The option is a DataModuleOptions type.
*/
- private Object dataModuleOptions;
+ public T dataModuleOptions(Object dataModuleOptions) {
+ this.dataModuleOptions = dataModuleOptions;
+ return (T) this;
+ }
+
/**
* Protocol options. The option is a ProtocolOptions type.
*/
- private Object protocolOptions;
+ public T protocolOptions(Object protocolOptions) {
+ this.protocolOptions = protocolOptions;
+ return (T) this;
+ }
+
/**
* Whether the endpoint should use basic property binding (Camel 2.x) or
* the newer property binding with additional capabilities. The option
* is a boolean type.
*/
- private Boolean basicPropertyBinding;
+ public T basicPropertyBinding(boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ return (T) this;
+ }
+
/**
* Sets whether synchronous processing should be strictly used, or Camel
* is allowed to use asynchronous processing (if supported). The option
* is a boolean type.
*/
- private Boolean synchronous;
+ public T synchronous(boolean synchronous) {
+ this.synchronous = synchronous;
+ return (T) this;
+ }
+
/**
* Parameter W - Acknowledgment window. The option is a short type.
*/
- private Short acknowledgeWindow;
+ public T acknowledgeWindow(short acknowledgeWindow) {
+ this.acknowledgeWindow = acknowledgeWindow;
+ return (T) this;
+ }
+
/**
* The common ASDU address size. May be either SIZE_1 or SIZE_2. The
* option is a org.eclipse.neoscada.protocol.iec60870.ASDUAddressType
* type.
*/
- private ASDUAddressType adsuAddressType;
+ public T adsuAddressType(ASDUAddressType adsuAddressType) {
+ this.adsuAddressType = adsuAddressType;
+ return (T) this;
+ }
+
/**
* The cause of transmission type. May be either SIZE_1 or SIZE_2. The
* option is a
* org.eclipse.neoscada.protocol.iec60870.CauseOfTransmissionType type.
*/
- private CauseOfTransmissionType causeOfTransmissionType;
+ public T causeOfTransmissionType(
+ CauseOfTransmissionType causeOfTransmissionType) {
+ this.causeOfTransmissionType = causeOfTransmissionType;
+ return (T) this;
+ }
+
/**
* The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.
* The option is a
* org.eclipse.neoscada.protocol.iec60870.InformationObjectAddressType
* type.
*/
- private InformationObjectAddressType informationObjectAddressType;
+ public T informationObjectAddressType(
+ InformationObjectAddressType informationObjectAddressType) {
+ this.informationObjectAddressType = informationObjectAddressType;
+ return (T) this;
+ }
+
/**
* Parameter K - Maximum number of un-acknowledged messages. The option
* is a short type.
*/
- private Short maxUnacknowledged;
+ public T maxUnacknowledged(short maxUnacknowledged) {
+ this.maxUnacknowledged = maxUnacknowledged;
+ return (T) this;
+ }
+
/**
* Timeout T1 in milliseconds. The option is a int type.
*/
- private Integer timeout1;
+ public T timeout1(int timeout1) {
+ this.timeout1 = timeout1;
+ return (T) this;
+ }
+
/**
* Timeout T2 in milliseconds. The option is a int type.
*/
- private Integer timeout2;
+ public T timeout2(int timeout2) {
+ this.timeout2 = timeout2;
+ return (T) this;
+ }
+
/**
* Timeout T3 in milliseconds. The option is a int type.
*/
- private Integer timeout3;
+ public T timeout3(int timeout3) {
+ this.timeout3 = timeout3;
+ return (T) this;
+ }
+
/**
* Whether to include the source address. The option is a boolean type.
*/
- private Boolean causeSourceAddress;
+ public T causeSourceAddress(boolean causeSourceAddress) {
+ this.causeSourceAddress = causeSourceAddress;
+ return (T) this;
+ }
+
/**
* Whether background scan transmissions should be ignored. The option
* is a boolean type.
*/
- private Boolean ignoreBackgroundScan;
+ public T ignoreBackgroundScan(boolean ignoreBackgroundScan) {
+ this.ignoreBackgroundScan = ignoreBackgroundScan;
+ return (T) this;
+ }
+
/**
* Whether to ignore or respect DST. The option is a boolean type.
*/
- private Boolean ignoreDaylightSavingTime;
+ public T ignoreDaylightSavingTime(boolean ignoreDaylightSavingTime) {
+ this.ignoreDaylightSavingTime = ignoreDaylightSavingTime;
+ return (T) this;
+ }
+
/**
* The timezone to use. May be any Java time zone string. The option is
* a java.util.TimeZone type.
*/
- private TimeZone timeZone;
+ public T timeZone(TimeZone timeZone) {
+ this.timeZone = timeZone;
+ return (T) this;
+ }
+
/**
* An identifier grouping connection instances. The option is a
* java.lang.String type.
*/
- private String connectionId;
+ public T connectionId(String connectionId) {
+ this.connectionId = connectionId;
+ return (T) this;
+ }
public Object getUriPath() {
return uriPath;
@@ -269,7 +363,11 @@ public class ClientEndpoint {
}
}
- public static class ClientConsumer extends ClientCommon {
+ public static class ClientConsumer extends ClientCommon<ClientConsumer> {
+ private Boolean bridgeErrorHandler;
+ private ExceptionHandler exceptionHandler;
+ private ExchangePattern exchangePattern;
+
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to
@@ -279,7 +377,11 @@ public class ClientEndpoint {
* with exceptions, that will be logged at WARN or ERROR level and
* ignored. The option is a boolean type.
*/
- private Boolean bridgeErrorHandler;
+ public ClientConsumer bridgeErrorHandler(boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ return (ClientConsumer) this;
+ }
+
/**
* To let the consumer use a custom ExceptionHandler. Notice if the
* option bridgeErrorHandler is enabled then this option is not in use.
@@ -287,12 +389,19 @@ public class ClientEndpoint {
* logged at WARN or ERROR level and ignored. The option is a
* org.apache.camel.spi.ExceptionHandler type.
*/
- private ExceptionHandler exceptionHandler;
+ public ClientConsumer exceptionHandler(ExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ return (ClientConsumer) this;
+ }
+
/**
* Sets the exchange pattern when the consumer creates an exchange. The
* option is a org.apache.camel.ExchangePattern type.
*/
- private ExchangePattern exchangePattern;
+ public ClientConsumer exchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
+ return (ClientConsumer) this;
+ }
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
@@ -319,7 +428,7 @@ public class ClientEndpoint {
}
}
- public static class ClientProducer extends ClientCommon {
+ public static class ClientProducer extends ClientCommon<ClientProducer> {
}
public static enum ASDUAddressType {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java
index f5e46ac..715d449 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java
@@ -33,11 +33,29 @@ import org.apache.camel.spi.ExceptionHandler;
... 77319 lines suppressed ...