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 2023/07/31 09:26:21 UTC

[camel] 01/01: camel-vertx - Generate type converters in bulk

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

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

commit 64a0e0093f3f5e78e591c94cf1630cd8551611b9
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jul 31 11:26:10 2023 +0200

    camel-vertx - Generate type converters in bulk
---
 .../CamelVertxCommonBulkConverterLoader.java       | 272 +++++++++++++++++++++
 .../vertx/common/VertxBufferConverterLoader.java   |  66 -----
 .../common/VertxJsonArrayConverterLoader.java      |  72 ------
 .../common/VertxJsonObjectConverterLoader.java     |  72 ------
 .../services/org/apache/camel/TypeConverterLoader  |   4 +-
 .../vertx/common/VertxBufferConverter.java         |   2 +-
 .../vertx/common/VertxJsonArrayConverter.java      |   2 +-
 .../vertx/common/VertxJsonObjectConverter.java     |   2 +-
 8 files changed, 276 insertions(+), 216 deletions(-)

diff --git a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/CamelVertxCommonBulkConverterLoader.java b/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/CamelVertxCommonBulkConverterLoader.java
new file mode 100644
index 00000000000..0f52141b7f7
--- /dev/null
+++ b/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/CamelVertxCommonBulkConverterLoader.java
@@ -0,0 +1,272 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.vertx.common;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.DeferredContextBinding;
+import org.apache.camel.Exchange;
+import org.apache.camel.Ordered;
+import org.apache.camel.TypeConversionException;
+import org.apache.camel.TypeConverterLoaderException;
+import org.apache.camel.TypeConverter;
+import org.apache.camel.spi.BulkTypeConverters;
+import org.apache.camel.spi.TypeConverterLoader;
+import org.apache.camel.spi.TypeConverterRegistry;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+@DeferredContextBinding
+public final class CamelVertxCommonBulkConverterLoader implements TypeConverterLoader, BulkTypeConverters, CamelContextAware {
+
+    private CamelContext camelContext;
+
+    public CamelVertxCommonBulkConverterLoader() {
+    }
+
+    @Override
+    public void setCamelContext(CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    @Override
+    public CamelContext getCamelContext() {
+        return camelContext;
+    }
+
+    @Override
+    public int size() {
+        return 30;
+    }
+
+    @Override
+    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {
+        registry.addBulkTypeConverters(this);
+    }
+
+    @Override
+    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
+        try {
+            Object obj = doConvertTo(from, to, exchange, value);
+            if (obj == Void.class) {;
+                return null;
+            } else {
+                return (T) obj;
+            }
+        } catch (TypeConversionException e) {
+            throw e;
+        } catch (Exception e) {
+            throw new TypeConversionException(value, to, e);
+        }
+    }
+
+    private Object doConvertTo(Class<?> from, Class<?> to, Exchange exchange, Object value) throws Exception {
+        if (to == byte[].class) {
+            if (value instanceof io.vertx.core.buffer.Buffer) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toBytes((io.vertx.core.buffer.Buffer) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonArray) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toBytes((io.vertx.core.json.JsonArray) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonObject) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toBytes((io.vertx.core.json.JsonObject) value);
+            }
+        } else if (to == io.vertx.core.buffer.Buffer.class) {
+            if (value instanceof byte[]) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((byte[]) value);
+            }
+            if (value instanceof io.netty.buffer.ByteBuf) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((io.netty.buffer.ByteBuf) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonArray) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toBuffer((io.vertx.core.json.JsonArray) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonObject) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toBuffer((io.vertx.core.json.JsonObject) value);
+            }
+            if (value instanceof java.io.InputStream) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((java.io.InputStream) value);
+            }
+            if (value instanceof java.lang.String) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((java.lang.String) value, exchange);
+            }
+        } else if (to == io.vertx.core.json.JsonArray.class) {
+            if (value instanceof byte[]) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((byte[]) value);
+            }
+            if (value instanceof io.netty.buffer.ByteBuf) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((io.netty.buffer.ByteBuf) value);
+            }
+            if (value instanceof io.vertx.core.buffer.Buffer) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((io.vertx.core.buffer.Buffer) value);
+            }
+            if (value instanceof java.io.InputStream) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((java.io.InputStream) value);
+            }
+            if (value instanceof java.lang.String) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((java.lang.String) value);
+            }
+            if (value instanceof java.util.List) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((java.util.List) value);
+            }
+        } else if (to == io.vertx.core.json.JsonObject.class) {
+            if (value instanceof byte[]) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((byte[]) value);
+            }
+            if (value instanceof io.netty.buffer.ByteBuf) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((io.netty.buffer.ByteBuf) value);
+            }
+            if (value instanceof io.vertx.core.buffer.Buffer) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((io.vertx.core.buffer.Buffer) value);
+            }
+            if (value instanceof java.io.InputStream) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((java.io.InputStream) value);
+            }
+            if (value instanceof java.lang.String) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((java.lang.String) value);
+            }
+            if (value instanceof java.util.Map) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((java.util.Map) value);
+            }
+        } else if (to == java.io.InputStream.class) {
+            if (value instanceof io.vertx.core.buffer.Buffer) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toInputStream((io.vertx.core.buffer.Buffer) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonArray) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toInputStream((io.vertx.core.json.JsonArray) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonObject) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toInputStream((io.vertx.core.json.JsonObject) value);
+            }
+        } else if (to == java.lang.String.class) {
+            if (value instanceof io.vertx.core.buffer.Buffer) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toString((io.vertx.core.buffer.Buffer) value, exchange);
+            }
+            if (value instanceof io.vertx.core.json.JsonArray) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toString((io.vertx.core.json.JsonArray) value);
+            }
+            if (value instanceof io.vertx.core.json.JsonObject) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toString((io.vertx.core.json.JsonObject) value);
+            }
+        } else if (to == java.util.List.class) {
+            if (value instanceof io.vertx.core.json.JsonArray) {
+                return org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toList((io.vertx.core.json.JsonArray) value);
+            }
+        } else if (to == java.util.Map.class) {
+            if (value instanceof io.vertx.core.json.JsonObject) {
+                return org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toMap((io.vertx.core.json.JsonObject) value);
+            }
+        } else if (to == org.apache.camel.StreamCache.class) {
+            if (value instanceof io.vertx.core.buffer.Buffer) {
+                return org.apache.camel.component.vertx.common.VertxBufferConverter.toStreamCache((io.vertx.core.buffer.Buffer) value);
+            }
+        }
+        return null;
+    }
+
+    public TypeConverter lookup(Class<?> to, Class<?> from) {
+        if (to == byte[].class) {
+            if (from == io.vertx.core.buffer.Buffer.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonArray.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonObject.class) {
+                return this;
+            }
+        } else if (to == io.vertx.core.buffer.Buffer.class) {
+            if (from == byte[].class) {
+                return this;
+            }
+            if (from == io.netty.buffer.ByteBuf.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonArray.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonObject.class) {
+                return this;
+            }
+            if (from == java.io.InputStream.class) {
+                return this;
+            }
+            if (from == java.lang.String.class) {
+                return this;
+            }
+        } else if (to == io.vertx.core.json.JsonArray.class) {
+            if (from == byte[].class) {
+                return this;
+            }
+            if (from == io.netty.buffer.ByteBuf.class) {
+                return this;
+            }
+            if (from == io.vertx.core.buffer.Buffer.class) {
+                return this;
+            }
+            if (from == java.io.InputStream.class) {
+                return this;
+            }
+            if (from == java.lang.String.class) {
+                return this;
+            }
+            if (from == java.util.List.class) {
+                return this;
+            }
+        } else if (to == io.vertx.core.json.JsonObject.class) {
+            if (from == byte[].class) {
+                return this;
+            }
+            if (from == io.netty.buffer.ByteBuf.class) {
+                return this;
+            }
+            if (from == io.vertx.core.buffer.Buffer.class) {
+                return this;
+            }
+            if (from == java.io.InputStream.class) {
+                return this;
+            }
+            if (from == java.lang.String.class) {
+                return this;
+            }
+            if (from == java.util.Map.class) {
+                return this;
+            }
+        } else if (to == java.io.InputStream.class) {
+            if (from == io.vertx.core.buffer.Buffer.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonArray.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonObject.class) {
+                return this;
+            }
+        } else if (to == java.lang.String.class) {
+            if (from == io.vertx.core.buffer.Buffer.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonArray.class) {
+                return this;
+            }
+            if (from == io.vertx.core.json.JsonObject.class) {
+                return this;
+            }
+        } else if (to == java.util.List.class) {
+            if (from == io.vertx.core.json.JsonArray.class) {
+                return this;
+            }
+        } else if (to == java.util.Map.class) {
+            if (from == io.vertx.core.json.JsonObject.class) {
+                return this;
+            }
+        } else if (to == org.apache.camel.StreamCache.class) {
+            if (from == io.vertx.core.buffer.Buffer.class) {
+                return this;
+            }
+        }
+        return null;
+    }
+
+}
diff --git a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxBufferConverterLoader.java b/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxBufferConverterLoader.java
deleted file mode 100644
index 581318f5377..00000000000
--- a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxBufferConverterLoader.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vertx.common;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.DeferredContextBinding;
-import org.apache.camel.Exchange;
-import org.apache.camel.TypeConversionException;
-import org.apache.camel.TypeConverterLoaderException;
-import org.apache.camel.spi.TypeConverterLoader;
-import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.camel.support.SimpleTypeConverter;
-import org.apache.camel.support.TypeConverterSupport;
-import org.apache.camel.util.DoubleMap;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-@DeferredContextBinding
-public final class VertxBufferConverterLoader implements TypeConverterLoader, CamelContextAware {
-
-    private CamelContext camelContext;
-
-    public VertxBufferConverterLoader() {
-    }
-
-    @Override
-    public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext;
-    }
-
-    @Override
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-
-    @Override
-    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {
-        registerConverters(registry);
-    }
-
-    private void registerConverters(TypeConverterRegistry registry) {
-        addTypeConverter(registry, byte[].class, io.vertx.core.buffer.Buffer.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toBytes((io.vertx.core.buffer.Buffer) value));
-        addTypeConverter(registry, io.vertx.core.buffer.Buffer.class, byte[].class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((byte[]) value));
-        addTypeConverter(registry, io.vertx.core.buffer.Buffer.class, io.netty.buffer.ByteBuf.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((io.netty.buffer.ByteBuf) value));
-        addTypeConverter(registry, io.vertx.core.buffer.Buffer.class, java.io.InputStream.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((java.io.InputStream) value));
-        addTypeConverter(registry, io.vertx.core.buffer.Buffer.class, java.lang.String.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toBuffer((java.lang.String) value, exchange));
-        addTypeConverter(registry, java.io.InputStream.class, io.vertx.core.buffer.Buffer.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toInputStream((io.vertx.core.buffer.Buffer) value));
-        addTypeConverter(registry, java.lang.String.class, io.vertx.core.buffer.Buffer.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toString((io.vertx.core.buffer.Buffer) value, exchange));
-        addTypeConverter(registry, org.apache.camel.StreamCache.class, io.vertx.core.buffer.Buffer.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxBufferConverter.toStreamCache((io.vertx.core.buffer.Buffer) value));
-    }
-
-    private static void addTypeConverter(TypeConverterRegistry registry, Class<?> toType, Class<?> fromType, boolean allowNull, SimpleTypeConverter.ConversionMethod method) { 
-        registry.addTypeConverter(toType, fromType, new SimpleTypeConverter(allowNull, method));
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverterLoader.java b/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverterLoader.java
deleted file mode 100644
index c4b33da9f32..00000000000
--- a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverterLoader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vertx.common;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.DeferredContextBinding;
-import org.apache.camel.Exchange;
-import org.apache.camel.TypeConversionException;
-import org.apache.camel.TypeConverterLoaderException;
-import org.apache.camel.spi.TypeConverterLoader;
-import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.camel.support.SimpleTypeConverter;
-import org.apache.camel.support.TypeConverterSupport;
-import org.apache.camel.util.DoubleMap;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-@DeferredContextBinding
-public final class VertxJsonArrayConverterLoader implements TypeConverterLoader, CamelContextAware {
-
-    private CamelContext camelContext;
-
-    public VertxJsonArrayConverterLoader() {
-    }
-
-    @Override
-    public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext;
-    }
-
-    @Override
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-
-    @Override
-    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {
-        registerConverters(registry);
-    }
-
-    private void registerConverters(TypeConverterRegistry registry) {
-        addTypeConverter(registry, byte[].class, io.vertx.core.json.JsonArray.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toBytes((io.vertx.core.json.JsonArray) value));
-        addTypeConverter(registry, io.vertx.core.buffer.Buffer.class, io.vertx.core.json.JsonArray.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toBuffer((io.vertx.core.json.JsonArray) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonArray.class, byte[].class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((byte[]) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonArray.class, io.netty.buffer.ByteBuf.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((io.netty.buffer.ByteBuf) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonArray.class, io.vertx.core.buffer.Buffer.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((io.vertx.core.buffer.Buffer) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonArray.class, java.io.InputStream.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((java.io.InputStream) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonArray.class, java.lang.String.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((java.lang.String) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonArray.class, java.util.List.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toJsonArray((java.util.List) value));
-        addTypeConverter(registry, java.io.InputStream.class, io.vertx.core.json.JsonArray.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toInputStream((io.vertx.core.json.JsonArray) value));
-        addTypeConverter(registry, java.lang.String.class, io.vertx.core.json.JsonArray.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toString((io.vertx.core.json.JsonArray) value));
-        addTypeConverter(registry, java.util.List.class, io.vertx.core.json.JsonArray.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonArrayConverter.toList((io.vertx.core.json.JsonArray) value));
-    }
-
-    private static void addTypeConverter(TypeConverterRegistry registry, Class<?> toType, Class<?> fromType, boolean allowNull, SimpleTypeConverter.ConversionMethod method) { 
-        registry.addTypeConverter(toType, fromType, new SimpleTypeConverter(allowNull, method));
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverterLoader.java b/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverterLoader.java
deleted file mode 100644
index 9c7d6b0c53d..00000000000
--- a/components/camel-vertx/camel-vertx-common/src/generated/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverterLoader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vertx.common;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.DeferredContextBinding;
-import org.apache.camel.Exchange;
-import org.apache.camel.TypeConversionException;
-import org.apache.camel.TypeConverterLoaderException;
-import org.apache.camel.spi.TypeConverterLoader;
-import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.camel.support.SimpleTypeConverter;
-import org.apache.camel.support.TypeConverterSupport;
-import org.apache.camel.util.DoubleMap;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-@DeferredContextBinding
-public final class VertxJsonObjectConverterLoader implements TypeConverterLoader, CamelContextAware {
-
-    private CamelContext camelContext;
-
-    public VertxJsonObjectConverterLoader() {
-    }
-
-    @Override
-    public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext;
-    }
-
-    @Override
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-
-    @Override
-    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {
-        registerConverters(registry);
-    }
-
-    private void registerConverters(TypeConverterRegistry registry) {
-        addTypeConverter(registry, byte[].class, io.vertx.core.json.JsonObject.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toBytes((io.vertx.core.json.JsonObject) value));
-        addTypeConverter(registry, io.vertx.core.buffer.Buffer.class, io.vertx.core.json.JsonObject.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toBuffer((io.vertx.core.json.JsonObject) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonObject.class, byte[].class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((byte[]) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonObject.class, io.netty.buffer.ByteBuf.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((io.netty.buffer.ByteBuf) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonObject.class, io.vertx.core.buffer.Buffer.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((io.vertx.core.buffer.Buffer) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonObject.class, java.io.InputStream.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((java.io.InputStream) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonObject.class, java.lang.String.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((java.lang.String) value));
-        addTypeConverter(registry, io.vertx.core.json.JsonObject.class, java.util.Map.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toJsonObject((java.util.Map) value));
-        addTypeConverter(registry, java.io.InputStream.class, io.vertx.core.json.JsonObject.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toInputStream((io.vertx.core.json.JsonObject) value));
-        addTypeConverter(registry, java.lang.String.class, io.vertx.core.json.JsonObject.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toString((io.vertx.core.json.JsonObject) value));
-        addTypeConverter(registry, java.util.Map.class, io.vertx.core.json.JsonObject.class, false,
-            (type, exchange, value) -> org.apache.camel.component.vertx.common.VertxJsonObjectConverter.toMap((io.vertx.core.json.JsonObject) value));
-    }
-
-    private static void addTypeConverter(TypeConverterRegistry registry, Class<?> toType, Class<?> fromType, boolean allowNull, SimpleTypeConverter.ConversionMethod method) { 
-        registry.addTypeConverter(toType, fromType, new SimpleTypeConverter(allowNull, method));
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-common/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader b/components/camel-vertx/camel-vertx-common/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader
index 5f18180cf8a..3ee8e1579ac 100644
--- a/components/camel-vertx/camel-vertx-common/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader
+++ b/components/camel-vertx/camel-vertx-common/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader
@@ -1,4 +1,2 @@
 # Generated by camel build tools - do NOT edit this file!
-org.apache.camel.component.vertx.common.VertxBufferConverterLoader
-org.apache.camel.component.vertx.common.VertxJsonArrayConverterLoader
-org.apache.camel.component.vertx.common.VertxJsonObjectConverterLoader
+org.apache.camel.component.vertx.common.CamelVertxCommonBulkConverterLoader
diff --git a/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java b/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
index 2079ab5a6bc..de74ab59ba1 100644
--- a/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
+++ b/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Converter methods to convert from / to Vert.x Buffer
  */
-@Converter(generateLoader = true)
+@Converter(generateBulkLoader = true)
 public final class VertxBufferConverter {
 
     private VertxBufferConverter() {
diff --git a/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverter.java b/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverter.java
index 353e5885db8..daf2b7d5000 100644
--- a/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverter.java
+++ b/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonArrayConverter.java
@@ -31,7 +31,7 @@ import org.apache.camel.util.IOHelper;
 /**
  * Converter methods to convert from / to Vert.x JsonArray
  */
-@Converter(generateLoader = true)
+@Converter(generateBulkLoader = true)
 public final class VertxJsonArrayConverter {
 
     private VertxJsonArrayConverter() {
diff --git a/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverter.java b/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverter.java
index 4f8dd3ab70d..e9a074c47a0 100644
--- a/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverter.java
+++ b/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxJsonObjectConverter.java
@@ -31,7 +31,7 @@ import org.apache.camel.util.IOHelper;
 /**
  * Converter methods to convert from / to Vert.x JsonObject
  */
-@Converter(generateLoader = true)
+@Converter(generateBulkLoader = true)
 public final class VertxJsonObjectConverter {
 
     private VertxJsonObjectConverter() {