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

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

commit 12c8936e4b6f138a5db9f0cecdf7a6f3e9d9a489
Author: Andrea Cosentino <[email protected]>
AuthorDate: Thu Nov 3 13:50:17 2022 +0100

    Camel-plc4x: regen after adding to the kit
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 bom/camel-bom/pom.xml                              |  10 +-
 .../org/apache/camel/catalog/components.properties |   1 +
 .../org/apache/camel/catalog/components/plc4x.json |  39 ++
 .../org/apache/camel/main/components.properties    |   1 +
 .../modules/ROOT/examples/json/plc4x.json          |   1 +
 docs/components/modules/others/nav.adoc            |   1 +
 docs/components/modules/others/pages/PLC4X.adoc    |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 +
 .../dsl/Plc4xComponentBuilderFactory.java          | 141 ++++++
 .../src/generated/resources/metadata.json          |  22 +
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  43 ++
 .../endpoint/dsl/Plc4XEndpointBuilderFactory.java  | 552 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 15 files changed, 823 insertions(+), 5 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 918e1659109..a52a6d6f3bd 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -1619,11 +1619,6 @@
         <artifactId>camel-pdf</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-plc4x</artifactId>
-        <version>${project.version}</version>
-      </dependency>      
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-pg-replication-slot</artifactId>
@@ -1644,6 +1639,11 @@
         <artifactId>camel-platform-http-vertx</artifactId>
         <version>${project.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-plc4x</artifactId>
+        <version>${project.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-printer</artifactId>
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index f5d64b27810..51bf87030ec 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -253,6 +253,7 @@ pdf
 pg-replication-slot
 pgevent
 platform-http
+plc4x
 pop3
 pop3s
 pubnub
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/plc4x.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/plc4x.json
new file mode 100644
index 00000000000..d9a0becce30
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/plc4x.json
@@ -0,0 +1,39 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "plc4x",
+    "title": "PLC4X",
+    "description": "Camel PLC4X support",
+    "deprecated": false,
+    "firstVersion": "3.20.0",
+    "label": "iot",
+    "javaType": "org.apache.camel.component.plc4x.Plc4XComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-plc4x",
+    "version": "3.20.0-SNAPSHOT",
+    "scheme": "plc4x",
+    "extendsScheme": "",
+    "syntax": "plc4x:driver",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "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 me [...]
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "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 star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "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 t [...]
+  },
+  "properties": {
+    "driver": { "kind": "path", "displayName": "Driver", "group": "common", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "PLC4X connection string for the 
connection to the target" },
+    "period": { "kind": "parameter", "displayName": "Period", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "(Consumer) Interval on which the Trigger should be 
checked" },
+    "tags": { "kind": "parameter", "displayName": "Tags", "group": "common", 
"label": "", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
tags to read as Map containing the tag name associated to its query" },
+    "trigger": { "kind": "parameter", "displayName": "Trigger", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "(Consumer) Query to a trigger. On a 
rising edge of the trigger, the tags will be read once" },
+    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "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 [...]
+    "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "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 
con [...]
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer (advanced)", "label": "producer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "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 other [...]
+  }
+}
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index f5d64b27810..51bf87030ec 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -253,6 +253,7 @@ pdf
 pg-replication-slot
 pgevent
 platform-http
+plc4x
 pop3
 pop3s
 pubnub
diff --git a/docs/components/modules/ROOT/examples/json/plc4x.json 
b/docs/components/modules/ROOT/examples/json/plc4x.json
new file mode 120000
index 00000000000..332a0294023
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/plc4x.json
@@ -0,0 +1 @@
+../../../../../../components/camel-plc4x/src/generated/resources/org/apache/camel/component/plc4x/plc4x.json
\ No newline at end of file
diff --git a/docs/components/modules/others/nav.adoc 
b/docs/components/modules/others/nav.adoc
index 7563eaa6f6a..a059ecbc11f 100644
--- a/docs/components/modules/others/nav.adoc
+++ b/docs/components/modules/others/nav.adoc
@@ -5,6 +5,7 @@
 ** xref:attachments.adoc[Attachments]
 ** xref:aws-xray.adoc[AWS XRay]
 ** xref:caffeine-lrucache.adoc[Caffeine Lrucache]
+** xref:PLC4X.adoc[Camel-PLC4X Component]
 ** xref:cdi.adoc[CDI]
 ** xref:cdi-jta.adoc[CDI JTA]
 ** xref:cdi-main.adoc[CDI Main]
diff --git a/docs/components/modules/others/pages/PLC4X.adoc 
b/docs/components/modules/others/pages/PLC4X.adoc
new file mode 120000
index 00000000000..155f309919a
--- /dev/null
+++ b/docs/components/modules/others/pages/PLC4X.adoc
@@ -0,0 +1 @@
+../../../../../components/camel-plc4x/src/main/docs/PLC4X.adoc
\ No newline at end of file
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 5151ddc23e5..2944f2458c6 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -3435,6 +3435,19 @@ public interface ComponentsBuilderFactory {
     static 
org.apache.camel.builder.component.dsl.PlatformHttpComponentBuilderFactory.PlatformHttpComponentBuilder
 platformHttp() {
         return 
org.apache.camel.builder.component.dsl.PlatformHttpComponentBuilderFactory.platformHttp();
     }
+    /**
+     * PLC4X (camel-plc4x)
+     * Camel PLC4X support
+     * 
+     * Category: iot
+     * Since: 3.20
+     * Maven coordinates: org.apache.camel:camel-plc4x
+     * 
+     * @return the dsl builder
+     */
+    static 
org.apache.camel.builder.component.dsl.Plc4xComponentBuilderFactory.Plc4xComponentBuilder
 plc4x() {
+        return 
org.apache.camel.builder.component.dsl.Plc4xComponentBuilderFactory.plc4x();
+    }
     /**
      * POP3 (camel-mail)
      * Send and receive emails using imap, pop3 and smtp protocols.
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Plc4xComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Plc4xComponentBuilderFactory.java
new file mode 100644
index 00000000000..303bc2e38f3
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Plc4xComponentBuilderFactory.java
@@ -0,0 +1,141 @@
+/*
+ * 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.plc4x.Plc4XComponent;
+
+/**
+ * Camel PLC4X support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface Plc4xComponentBuilderFactory {
+
+    /**
+     * PLC4X (camel-plc4x)
+     * Camel PLC4X support
+     * 
+     * Category: iot
+     * Since: 3.20
+     * Maven coordinates: org.apache.camel:camel-plc4x
+     * 
+     * @return the dsl builder
+     */
+    static Plc4xComponentBuilder plc4x() {
+        return new Plc4xComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the PLC4X component.
+     */
+    interface Plc4xComponentBuilder extends ComponentBuilder<Plc4XComponent> {
+        /**
+         * 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 Plc4xComponentBuilder 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 Plc4xComponentBuilder 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 Plc4xComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class Plc4xComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<Plc4XComponent>
+            implements
+                Plc4xComponentBuilder {
+        @Override
+        protected Plc4XComponent buildConcreteComponent() {
+            return new Plc4XComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "bridgeErrorHandler": ((Plc4XComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
+            case "lazyStartProducer": ((Plc4XComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((Plc4XComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json 
b/dsl/camel-componentdsl/src/generated/resources/metadata.json
index 80051536135..a6a96c43d34 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -5648,6 +5648,28 @@
     "producerOnly": false,
     "lenientProperties": false
   },
+  "Plc4xComponentBuilderFactory": {
+    "kind": "component",
+    "name": "plc4x",
+    "title": "PLC4X",
+    "description": "Camel PLC4X support",
+    "deprecated": false,
+    "firstVersion": "3.20.0",
+    "label": "iot",
+    "javaType": "org.apache.camel.component.plc4x.Plc4XComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-plc4x",
+    "version": "3.20.0-SNAPSHOT",
+    "scheme": "plc4x",
+    "extendsScheme": "",
+    "syntax": "plc4x:driver",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
   "Pop3ComponentBuilderFactory": {
     "kind": "component",
     "name": "pop3",
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 0f3b0ede90c..f79c0c225df 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -267,6 +267,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.PgEventEndpointBuilderFactory.PgEventBuilders,
             
org.apache.camel.builder.endpoint.dsl.PgReplicationSlotEndpointBuilderFactory.PgReplicationSlotBuilders,
             
org.apache.camel.builder.endpoint.dsl.PlatformHttpEndpointBuilderFactory.PlatformHttpBuilders,
+            
org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.Plc4XBuilders,
             
org.apache.camel.builder.endpoint.dsl.PrinterEndpointBuilderFactory.PrinterBuilders,
             
org.apache.camel.builder.endpoint.dsl.PubNubEndpointBuilderFactory.PubNubBuilders,
             
org.apache.camel.builder.endpoint.dsl.PulsarEndpointBuilderFactory.PulsarBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 94e18d2a232..9b1b441f062 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -264,6 +264,7 @@ public interface EndpointBuilders
             
org.apache.camel.builder.endpoint.dsl.PgEventEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.PgReplicationSlotEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.PlatformHttpEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.PrinterEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.PubNubEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.PulsarEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index e7fc788d3ed..26d1d699a7a 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -11924,6 +11924,49 @@ public class StaticEndpointBuilders {
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.PlatformHttpEndpointBuilderFactory.endpointBuilder(componentName,
 path);
     }
+    /**
+     * PLC4X (camel-plc4x)
+     * Camel PLC4X support
+     * 
+     * Category: iot
+     * Since: 3.20
+     * Maven coordinates: org.apache.camel:camel-plc4x
+     * 
+     * Syntax: <code>plc4x:driver</code>
+     * 
+     * Path parameter: driver (required)
+     * PLC4X connection string for the connection to the target
+     * 
+     * @param path driver
+     * @return the dsl builder
+     */
+    public static 
org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.Plc4XEndpointBuilder
 plc4x(
+            String path) {
+        return 
org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.endpointBuilder("plc4x",
 path);
+    }
+    /**
+     * PLC4X (camel-plc4x)
+     * Camel PLC4X support
+     * 
+     * Category: iot
+     * Since: 3.20
+     * Maven coordinates: org.apache.camel:camel-plc4x
+     * 
+     * Syntax: <code>plc4x:driver</code>
+     * 
+     * Path parameter: driver (required)
+     * PLC4X connection string for the connection to the target
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path driver
+     * @return the dsl builder
+     */
+    public static 
org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.Plc4XEndpointBuilder
 plc4x(
+            String componentName,
+            String path) {
+        return 
org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.endpointBuilder(componentName,
 path);
+    }
     /**
      * PubNub (camel-pubnub)
      * Send and receive messages to/from PubNub data stream network for
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Plc4XEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Plc4XEndpointBuilderFactory.java
new file mode 100644
index 00000000000..5b5111f7a0d
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Plc4XEndpointBuilderFactory.java
@@ -0,0 +1,552 @@
+/*
+ * 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;
+
+/**
+ * Camel PLC4X support
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface Plc4XEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint consumers for the PLC4X component.
+     */
+    public interface Plc4XEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default AdvancedPlc4XEndpointConsumerBuilder advanced() {
+            return (AdvancedPlc4XEndpointConsumerBuilder) this;
+        }
+        /**
+         * (Consumer) Interval on which the Trigger should be checked.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param period the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointConsumerBuilder period(int period) {
+            doSetProperty("period", period);
+            return this;
+        }
+        /**
+         * (Consumer) Interval on which the Trigger should be checked.
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param period the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointConsumerBuilder period(String period) {
+            doSetProperty("period", period);
+            return this;
+        }
+        /**
+         * The tags to read as Map containing the tag name associated to its
+         * query.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param tags the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointConsumerBuilder tags(
+                Map<java.lang.String, java.lang.Object> tags) {
+            doSetProperty("tags", tags);
+            return this;
+        }
+        /**
+         * The tags to read as Map containing the tag name associated to its
+         * query.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param tags the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointConsumerBuilder tags(String tags) {
+            doSetProperty("tags", tags);
+            return this;
+        }
+        /**
+         * (Consumer) Query to a trigger. On a rising edge of the trigger, the
+         * tags will be read once.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param trigger the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointConsumerBuilder trigger(String trigger) {
+            doSetProperty("trigger", trigger);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint consumers for the PLC4X component.
+     */
+    public interface AdvancedPlc4XEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default Plc4XEndpointConsumerBuilder basic() {
+            return (Plc4XEndpointConsumerBuilder) 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 (advanced)
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPlc4XEndpointConsumerBuilder 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 (advanced)
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPlc4XEndpointConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            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 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 AdvancedPlc4XEndpointConsumerBuilder 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 AdvancedPlc4XEndpointConsumerBuilder 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 AdvancedPlc4XEndpointConsumerBuilder 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 AdvancedPlc4XEndpointConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint producers for the PLC4X component.
+     */
+    public interface Plc4XEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedPlc4XEndpointProducerBuilder advanced() {
+            return (AdvancedPlc4XEndpointProducerBuilder) this;
+        }
+        /**
+         * (Consumer) Interval on which the Trigger should be checked.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param period the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointProducerBuilder period(int period) {
+            doSetProperty("period", period);
+            return this;
+        }
+        /**
+         * (Consumer) Interval on which the Trigger should be checked.
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param period the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointProducerBuilder period(String period) {
+            doSetProperty("period", period);
+            return this;
+        }
+        /**
+         * The tags to read as Map containing the tag name associated to its
+         * query.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param tags the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointProducerBuilder tags(
+                Map<java.lang.String, java.lang.Object> tags) {
+            doSetProperty("tags", tags);
+            return this;
+        }
+        /**
+         * The tags to read as Map containing the tag name associated to its
+         * query.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param tags the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointProducerBuilder tags(String tags) {
+            doSetProperty("tags", tags);
+            return this;
+        }
+        /**
+         * (Consumer) Query to a trigger. On a rising edge of the trigger, the
+         * tags will be read once.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param trigger the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointProducerBuilder trigger(String trigger) {
+            doSetProperty("trigger", trigger);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint producers for the PLC4X component.
+     */
+    public interface AdvancedPlc4XEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default Plc4XEndpointProducerBuilder basic() {
+            return (Plc4XEndpointProducerBuilder) 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 (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPlc4XEndpointProducerBuilder 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 (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPlc4XEndpointProducerBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint for the PLC4X component.
+     */
+    public interface Plc4XEndpointBuilder
+            extends
+                Plc4XEndpointConsumerBuilder,
+                Plc4XEndpointProducerBuilder {
+        default AdvancedPlc4XEndpointBuilder advanced() {
+            return (AdvancedPlc4XEndpointBuilder) this;
+        }
+        /**
+         * (Consumer) Interval on which the Trigger should be checked.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param period the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder period(int period) {
+            doSetProperty("period", period);
+            return this;
+        }
+        /**
+         * (Consumer) Interval on which the Trigger should be checked.
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param period the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder period(String period) {
+            doSetProperty("period", period);
+            return this;
+        }
+        /**
+         * The tags to read as Map containing the tag name associated to its
+         * query.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param tags the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder tags(
+                Map<java.lang.String, java.lang.Object> tags) {
+            doSetProperty("tags", tags);
+            return this;
+        }
+        /**
+         * The tags to read as Map containing the tag name associated to its
+         * query.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.Object&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param tags the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder tags(String tags) {
+            doSetProperty("tags", tags);
+            return this;
+        }
+        /**
+         * (Consumer) Query to a trigger. On a rising edge of the trigger, the
+         * tags will be read once.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param trigger the value to set
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder trigger(String trigger) {
+            doSetProperty("trigger", trigger);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the PLC4X component.
+     */
+    public interface AdvancedPlc4XEndpointBuilder
+            extends
+                AdvancedPlc4XEndpointConsumerBuilder,
+                AdvancedPlc4XEndpointProducerBuilder {
+        default Plc4XEndpointBuilder basic() {
+            return (Plc4XEndpointBuilder) this;
+        }
+    }
+
+    public interface Plc4XBuilders {
+        /**
+         * PLC4X (camel-plc4x)
+         * Camel PLC4X support
+         * 
+         * Category: iot
+         * Since: 3.20
+         * Maven coordinates: org.apache.camel:camel-plc4x
+         * 
+         * Syntax: <code>plc4x:driver</code>
+         * 
+         * Path parameter: driver (required)
+         * PLC4X connection string for the connection to the target
+         * 
+         * @param path driver
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder plc4x(String path) {
+            return Plc4XEndpointBuilderFactory.endpointBuilder("plc4x", path);
+        }
+        /**
+         * PLC4X (camel-plc4x)
+         * Camel PLC4X support
+         * 
+         * Category: iot
+         * Since: 3.20
+         * Maven coordinates: org.apache.camel:camel-plc4x
+         * 
+         * Syntax: <code>plc4x:driver</code>
+         * 
+         * Path parameter: driver (required)
+         * PLC4X connection string for the connection to the target
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path driver
+         * @return the dsl builder
+         */
+        default Plc4XEndpointBuilder plc4x(String componentName, String path) {
+            return Plc4XEndpointBuilderFactory.endpointBuilder(componentName, 
path);
+        }
+    }
+    static Plc4XEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class Plc4XEndpointBuilderImpl extends AbstractEndpointBuilder 
implements Plc4XEndpointBuilder, AdvancedPlc4XEndpointBuilder {
+            public Plc4XEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new Plc4XEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index afe84f24863..f64dbe24838 100644
--- 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -264,6 +264,7 @@ org.apache.camel.component.pdf.PdfComponent=camel:pdf
 
org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent=camel:pg-replication-slot
 org.apache.camel.component.pgevent.PgEventComponent=camel:pgevent
 
org.apache.camel.component.platform.http.PlatformHttpComponent=camel:platform-http
+org.apache.camel.component.plc4x.Plc4XComponent=camel:plc4x
 org.apache.camel.component.printer.PrinterComponent=camel:printer
 org.apache.camel.component.pubnub.PubNubComponent=camel:pubnub
 org.apache.camel.component.pulsar.PulsarComponent=camel:pulsar


Reply via email to