This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8072d7380b84fabee59b921214c3c21c82d9463f Author: Claus Ibsen <[email protected]> AuthorDate: Fri Aug 23 10:16:18 2019 +0200 CAMEL-13870: Fast property configuration of Camel endpoints. --- .../org/apache/camel/spi/EndpointPropertyConfigurer.java | 10 ++++++++++ .../support/component/EndpointPropertyConfigurerSupport.java | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/EndpointPropertyConfigurer.java b/core/camel-api/src/main/java/org/apache/camel/spi/EndpointPropertyConfigurer.java index f0b556b..66b3bc5 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/EndpointPropertyConfigurer.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/EndpointPropertyConfigurer.java @@ -18,7 +18,17 @@ package org.apache.camel.spi; import org.apache.camel.CamelContext; +/** + * Property configurer for Camel {@link org.apache.camel.Endpoint} + * which allows fast configurations without using Java reflection. + */ public interface EndpointPropertyConfigurer extends PropertyConfigurer<Object> { + /** + * Configures the endpoint. + * + * @param endpoint the endpoint + * @param camelContext the camel context + */ void configure(Object endpoint, CamelContext camelContext); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointPropertyConfigurerSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointPropertyConfigurerSupport.java index 55a47e1..a5fa652 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointPropertyConfigurerSupport.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointPropertyConfigurerSupport.java @@ -19,8 +19,20 @@ package org.apache.camel.support.component; import org.apache.camel.CamelContext; import org.apache.camel.spi.EndpointPropertyConfigurer; +/** + * Base class used by the camel-apt compiler plugin when it generates source code for all + * the endpoint configurations. + */ public abstract class EndpointPropertyConfigurerSupport implements EndpointPropertyConfigurer { + /** + * Converts the property to the expected type + * + * @param camelContext the camel context + * @param type the expected type + * @param value the value + * @return the value converted to the expected type + */ public static <T> T property(CamelContext camelContext, Class<T> type, Object value) { // if the type is not string based and the value is a bean reference, then we need to lookup // the bean from the registry
