You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/01/11 19:30:33 UTC

[camel] branch main updated: CAMEL-17154: Dynamic Router EIP Component

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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 2bb4d58  CAMEL-17154: Dynamic Router EIP Component
2bb4d58 is described below

commit 2bb4d58f0a5bcbe2412d94aa56deff0a10d3d16b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jan 11 20:29:11 2022 +0100

    CAMEL-17154: Dynamic Router EIP Component
---
 .../dsl/DynamicRouterComponentBuilderFactory.java  | 146 ++++++
 .../dsl/DynamicRouterEndpointBuilderFactory.java   | 556 +++++++++++++++++++++
 2 files changed, 702 insertions(+)

diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DynamicRouterComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DynamicRouterComponentBuilderFactory.java
new file mode 100644
index 0000000..f74fe83
--- /dev/null
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DynamicRouterComponentBuilderFactory.java
@@ -0,0 +1,146 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.dynamicrouter.DynamicRouterComponent;
+
+/**
+ * The Dynamic Router component routes exchanges to recipients, and the
+ * recipients (and their rules) may change at runtime.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface DynamicRouterComponentBuilderFactory {
+
+    /**
+     * Dynamic Router (camel-dynamic-router)
+     * The Dynamic Router component routes exchanges to recipients, and the
+     * recipients (and their rules) may change at runtime.
+     * 
+     * Category: endpoint,java
+     * Since: 3.15
+     * Maven coordinates: org.apache.camel:camel-dynamic-router
+     * 
+     * @return the dsl builder
+     */
+    static DynamicRouterComponentBuilder dynamicRouter() {
+        return new DynamicRouterComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Dynamic Router component.
+     */
+    interface DynamicRouterComponentBuilder
+            extends
+                ComponentBuilder<DynamicRouterComponent> {
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions occurred while the consumer is trying to
+         * pickup incoming messages, or the likes, will now be processed as a
+         * message and handled by the routing Error Handler. By default the
+         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+         * with exceptions, that will be logged at WARN or ERROR level and
+         * ignored.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterComponentBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterComponentBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterComponentBuilder autowiredEnabled(
+                boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class DynamicRouterComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<DynamicRouterComponent>
+            implements
+                DynamicRouterComponentBuilder {
+        @Override
+        protected DynamicRouterComponent buildConcreteComponent() {
+            return new DynamicRouterComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "bridgeErrorHandler": ((DynamicRouterComponent) component).setBridgeErrorHandler((boolean) value); return true;
+            case "lazyStartProducer": ((DynamicRouterComponent) component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((DynamicRouterComponent) component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DynamicRouterEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DynamicRouterEndpointBuilderFactory.java
new file mode 100644
index 0000000..08f845a
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DynamicRouterEndpointBuilderFactory.java
@@ -0,0 +1,556 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * The Dynamic Router component routes exchanges to recipients, and the
+ * recipients (and their rules) may change at runtime.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface DynamicRouterEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint consumers for the Dynamic Router component.
+     */
+    public interface DynamicRouterEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default AdvancedDynamicRouterEndpointConsumerBuilder advanced() {
+            return (AdvancedDynamicRouterEndpointConsumerBuilder) this;
+        }
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions occurred while the consumer is trying to
+         * pickup incoming messages, or the likes, will now be processed as a
+         * message and handled by the routing Error Handler. By default the
+         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+         * with exceptions, that will be logged at WARN or ERROR level and
+         * ignored.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointConsumerBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions occurred while the consumer is trying to
+         * pickup incoming messages, or the likes, will now be processed as a
+         * message and handled by the routing Error Handler. By default the
+         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+         * with exceptions, that will be logged at WARN or ERROR level and
+         * ignored.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: consumer
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint consumers for the Dynamic Router component.
+     */
+    public interface AdvancedDynamicRouterEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default DynamicRouterEndpointConsumerBuilder basic() {
+            return (DynamicRouterEndpointConsumerBuilder) this;
+        }
+        /**
+         * To let the consumer use a custom ExceptionHandler. Notice if the
+         * option bridgeErrorHandler is enabled then this option is not in use.
+         * By default the consumer will deal with exceptions, that will be
+         * logged at WARN or ERROR level and ignored.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exceptionHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointConsumerBuilder exceptionHandler(
+                org.apache.camel.spi.ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * To let the consumer use a custom ExceptionHandler. Notice if the
+         * option bridgeErrorHandler is enabled then this option is not in use.
+         * By default the consumer will deal with exceptions, that will be
+         * logged at WARN or ERROR level and ignored.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exceptionHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exchangePattern the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointConsumerBuilder exchangePattern(
+                org.apache.camel.ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exchangePattern the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Flag to ensure synchronous processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param synchronous the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointConsumerBuilder synchronous(
+                boolean synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+        /**
+         * Flag to ensure synchronous processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param synchronous the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointConsumerBuilder synchronous(
+                String synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint producers for the Dynamic Router component.
+     */
+    public interface DynamicRouterEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedDynamicRouterEndpointProducerBuilder advanced() {
+            return (AdvancedDynamicRouterEndpointProducerBuilder) this;
+        }
+        /**
+         * Flag that determines if the producer should block while waiting for a
+         * consumer.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param block the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder block(boolean block) {
+            doSetProperty("block", block);
+            return this;
+        }
+        /**
+         * Flag that determines if the producer should block while waiting for a
+         * consumer.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param block the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder block(String block) {
+            doSetProperty("block", block);
+            return this;
+        }
+        /**
+         * Flag to fail if there are no consumers.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param failIfNoConsumers the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder failIfNoConsumers(
+                boolean failIfNoConsumers) {
+            doSetProperty("failIfNoConsumers", failIfNoConsumers);
+            return this;
+        }
+        /**
+         * Flag to fail if there are no consumers.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param failIfNoConsumers the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder failIfNoConsumers(
+                String failIfNoConsumers) {
+            doSetProperty("failIfNoConsumers", failIfNoConsumers);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The time limit, in milliseconds, if/when the producer blocks while
+         * waiting for a consumer.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 30000
+         * Group: producer
+         * 
+         * @param timeout the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder timeout(long timeout) {
+            doSetProperty("timeout", timeout);
+            return this;
+        }
+        /**
+         * The time limit, in milliseconds, if/when the producer blocks while
+         * waiting for a consumer.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 30000
+         * Group: producer
+         * 
+         * @param timeout the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder timeout(String timeout) {
+            doSetProperty("timeout", timeout);
+            return this;
+        }
+        /**
+         * Flag to log a warning if no predicates match for an exchange.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param warnDroppedMessage the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder warnDroppedMessage(
+                boolean warnDroppedMessage) {
+            doSetProperty("warnDroppedMessage", warnDroppedMessage);
+            return this;
+        }
+        /**
+         * Flag to log a warning if no predicates match for an exchange.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param warnDroppedMessage the value to set
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointProducerBuilder warnDroppedMessage(
+                String warnDroppedMessage) {
+            doSetProperty("warnDroppedMessage", warnDroppedMessage);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint producers for the Dynamic Router component.
+     */
+    public interface AdvancedDynamicRouterEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default DynamicRouterEndpointProducerBuilder basic() {
+            return (DynamicRouterEndpointProducerBuilder) this;
+        }
+        /**
+         * Flag to ensure synchronous processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param synchronous the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointProducerBuilder synchronous(
+                boolean synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+        /**
+         * Flag to ensure synchronous processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param synchronous the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointProducerBuilder synchronous(
+                String synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint for the Dynamic Router component.
+     */
+    public interface DynamicRouterEndpointBuilder
+            extends
+                DynamicRouterEndpointConsumerBuilder,
+                DynamicRouterEndpointProducerBuilder {
+        default AdvancedDynamicRouterEndpointBuilder advanced() {
+            return (AdvancedDynamicRouterEndpointBuilder) this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Dynamic Router component.
+     */
+    public interface AdvancedDynamicRouterEndpointBuilder
+            extends
+                AdvancedDynamicRouterEndpointConsumerBuilder,
+                AdvancedDynamicRouterEndpointProducerBuilder {
+        default DynamicRouterEndpointBuilder basic() {
+            return (DynamicRouterEndpointBuilder) this;
+        }
+        /**
+         * Flag to ensure synchronous processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param synchronous the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointBuilder synchronous(
+                boolean synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+        /**
+         * Flag to ensure synchronous processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: advanced
+         * 
+         * @param synchronous the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDynamicRouterEndpointBuilder synchronous(
+                String synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+    }
+
+    public interface DynamicRouterBuilders {
+        /**
+         * Dynamic Router (camel-dynamic-router)
+         * The Dynamic Router component routes exchanges to recipients, and the
+         * recipients (and their rules) may change at runtime.
+         * 
+         * Category: endpoint,java
+         * Since: 3.15
+         * Maven coordinates: org.apache.camel:camel-dynamic-router
+         * 
+         * Syntax: <code>dynamic-router:channel</code>
+         * 
+         * Path parameter: channel (required)
+         * Channel of the Dynamic Router
+         * 
+         * @param path channel
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointBuilder dynamicRouter(String path) {
+            return DynamicRouterEndpointBuilderFactory.endpointBuilder("dynamic-router", path);
+        }
+        /**
+         * Dynamic Router (camel-dynamic-router)
+         * The Dynamic Router component routes exchanges to recipients, and the
+         * recipients (and their rules) may change at runtime.
+         * 
+         * Category: endpoint,java
+         * Since: 3.15
+         * Maven coordinates: org.apache.camel:camel-dynamic-router
+         * 
+         * Syntax: <code>dynamic-router:channel</code>
+         * 
+         * Path parameter: channel (required)
+         * Channel of the Dynamic Router
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path channel
+         * @return the dsl builder
+         */
+        default DynamicRouterEndpointBuilder dynamicRouter(
+                String componentName,
+                String path) {
+            return DynamicRouterEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+    static DynamicRouterEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class DynamicRouterEndpointBuilderImpl extends AbstractEndpointBuilder implements DynamicRouterEndpointBuilder, AdvancedDynamicRouterEndpointBuilder {
+            public DynamicRouterEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new DynamicRouterEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file