This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5c086e3753bfcffdd36e4c63e3d361ca5b43b616 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Fri Jun 14 10:37:24 2019 +0200 Use a dedicated method to cast --- .../apache/camel/model/ProcessorDefinition.java | 218 ++++++++------------- 1 file changed, 80 insertions(+), 138 deletions(-) diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java index d9e0f54..7ee70d0 100644 --- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java +++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java @@ -230,13 +230,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param value the value * @return the builder */ - @SuppressWarnings("unchecked") public Type attribute(QName name, Object value) { if (otherAttributes == null) { otherAttributes = new HashMap<>(); } otherAttributes.put(name, value); - return (Type) this; + return asType(); } /** @@ -245,10 +244,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param uri the endpoint to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(@AsEndpointUri String uri) { addOutput(new ToDefinition(uri)); - return (Type) this; + return asType(); } /** @@ -257,12 +255,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param uri the dynamic endpoint to send to (resolved using simple language by default) * @return the builder */ - @SuppressWarnings("unchecked") public Type toD(@AsEndpointUri String uri) { ToDynamicDefinition answer = new ToDynamicDefinition(); answer.setUri(uri); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -273,13 +270,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * * @return the builder */ - @SuppressWarnings("unchecked") public Type toD(@AsEndpointUri String uri, int cacheSize) { ToDynamicDefinition answer = new ToDynamicDefinition(); answer.setUri(uri); answer.setCacheSize(cacheSize); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -289,13 +285,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param ignoreInvalidEndpoint ignore the invalidate endpoint exception when try to create a producer with that endpoint * @return the builder */ - @SuppressWarnings("unchecked") public Type toD(@AsEndpointUri String uri, boolean ignoreInvalidEndpoint) { ToDynamicDefinition answer = new ToDynamicDefinition(); answer.setUri(uri); answer.setIgnoreInvalidEndpoint(ignoreInvalidEndpoint); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -305,10 +300,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param args arguments for the string formatting of the uri * @return the builder */ - @SuppressWarnings("unchecked") public Type toF(@AsEndpointUri String uri, Object... args) { addOutput(new ToDefinition(String.format(uri, args))); - return (Type) this; + return asType(); } /** @@ -328,12 +322,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param name the service name * @return the builder */ - @SuppressWarnings("unchecked") public Type serviceCall(String name) { ServiceCallDefinition answer = new ServiceCallDefinition(); answer.setName(name); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -343,13 +336,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param uri the endpoint uri to use for calling the service * @return the builder */ - @SuppressWarnings("unchecked") public Type serviceCall(String name, @AsEndpointUri String uri) { ServiceCallDefinition answer = new ServiceCallDefinition(); answer.setName(name); answer.setUri(uri); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -358,16 +350,14 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param endpoint the endpoint to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(Endpoint endpoint) { addOutput(new ToDefinition(endpoint)); - return (Type) this; + return asType(); } - @SuppressWarnings("unchecked") public Type to(EndpointProducerBuilder endpoint) { addOutput(new ToDefinition(endpoint)); - return (Type) this; + return asType(); } /** @@ -379,10 +369,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param uri the endpoint to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(ExchangePattern pattern, @AsEndpointUri String uri) { addOutput(new ToDefinition(uri, pattern)); - return (Type) this; + return asType(); } /** @@ -394,10 +383,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param endpoint the endpoint to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(ExchangePattern pattern, Endpoint endpoint) { addOutput(new ToDefinition(endpoint, pattern)); - return (Type) this; + return asType(); } /** @@ -406,12 +394,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param uris list of endpoints to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(@AsEndpointUri String... uris) { for (String uri : uris) { addOutput(new ToDefinition(uri)); } - return (Type) this; + return asType(); } /** @@ -420,12 +407,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param endpoints list of endpoints to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(Endpoint... endpoints) { for (Endpoint endpoint : endpoints) { addOutput(new ToDefinition(endpoint)); } - return (Type) this; + return asType(); } /** @@ -434,12 +420,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param endpoints list of endpoints to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(Iterable<Endpoint> endpoints) { for (Endpoint endpoint : endpoints) { addOutput(new ToDefinition(endpoint)); } - return (Type) this; + return asType(); } /** @@ -451,12 +436,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param uris list of endpoints to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(ExchangePattern pattern, @AsEndpointUri String... uris) { for (String uri : uris) { addOutput(new ToDefinition(uri, pattern)); } - return (Type) this; + return asType(); } /** @@ -468,12 +452,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param endpoints list of endpoints to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(ExchangePattern pattern, Endpoint... endpoints) { for (Endpoint endpoint : endpoints) { addOutput(new ToDefinition(endpoint, pattern)); } - return (Type) this; + return asType(); } /** @@ -483,12 +466,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param endpoints list of endpoints to send to * @return the builder */ - @SuppressWarnings("unchecked") public Type to(ExchangePattern pattern, Iterable<Endpoint> endpoints) { for (Endpoint endpoint : endpoints) { addOutput(new ToDefinition(endpoint, pattern)); } - return (Type) this; + return asType(); } /** @@ -500,10 +482,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param exchangePattern instance of {@link ExchangePattern} * @return the builder */ - @SuppressWarnings("unchecked") public Type setExchangePattern(ExchangePattern exchangePattern) { addOutput(new SetExchangePatternDefinition(exchangePattern)); - return (Type) this; + return asType(); } /** @@ -655,7 +636,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param id the id * @return the builder */ - @SuppressWarnings("unchecked") public Type id(String id) { if (isOutputSupported() && getOutputs().isEmpty()) { // set id on this @@ -682,7 +662,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> } } - return (Type) this; + return asType(); } /** @@ -695,7 +675,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param id the route id, should be unique * @return the builder */ - @SuppressWarnings("unchecked") public Type routeId(String id) { ProcessorDefinition<?> def = this; @@ -707,7 +686,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> route.setId(id); } - return (Type) this; + return asType(); } /** @@ -716,7 +695,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param group the route group * @return the builder */ - @SuppressWarnings("unchecked") public Type routeGroup(String group) { ProcessorDefinition<?> def = this; @@ -725,7 +703,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> route.setGroup(group); } - return (Type) this; + return asType(); } /** @@ -734,7 +712,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param description the route description * @return the builder */ - @SuppressWarnings("unchecked") public Type routeDescription(String description) { ProcessorDefinition<?> def = this; @@ -745,7 +722,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> route.setDescription(desc); } - return (Type) this; + return asType(); } /** @@ -848,7 +825,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> PipelineDefinition answer = new PipelineDefinition(); addOutput(answer); answer.to(uris); - return (Type) this; + return asType(); } /** @@ -864,7 +841,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> PipelineDefinition answer = new PipelineDefinition(); addOutput(answer); answer.to(endpoints); - return (Type) this; + return asType(); } /** @@ -880,7 +857,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> PipelineDefinition answer = new PipelineDefinition(); addOutput(answer); answer.to(endpoints); - return (Type) this; + return asType(); } /** @@ -1251,11 +1228,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param message the log message, (you can use {@link org.apache.camel.language.simple.SimpleLanguage} syntax) * @return the builder */ - @SuppressWarnings("unchecked") public Type log(String message) { LogDefinition answer = new LogDefinition(message); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1265,12 +1241,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param message the log message, (you can use {@link org.apache.camel.language.simple.SimpleLanguage} syntax) * @return the builder */ - @SuppressWarnings("unchecked") public Type log(LoggingLevel loggingLevel, String message) { LogDefinition answer = new LogDefinition(message); answer.setLoggingLevel(loggingLevel); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1281,13 +1256,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param message the log message, (you can use {@link org.apache.camel.language.simple.SimpleLanguage} syntax) * @return the builder */ - @SuppressWarnings("unchecked") public Type log(LoggingLevel loggingLevel, String logName, String message) { LogDefinition answer = new LogDefinition(message); answer.setLoggingLevel(loggingLevel); answer.setLogName(logName); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1298,13 +1272,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param message the log message, (you can use {@link org.apache.camel.language.simple.SimpleLanguage} syntax) * @return the builder */ - @SuppressWarnings("unchecked") public Type log(LoggingLevel loggingLevel, Logger logger, String message) { LogDefinition answer = new LogDefinition(message); answer.setLoggingLevel(loggingLevel); answer.setLogger(logger); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1317,14 +1290,13 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param message the log message, (you can use {@link org.apache.camel.language.simple.SimpleLanguage} syntax) * @return the builder */ - @SuppressWarnings("unchecked") public Type log(LoggingLevel loggingLevel, String logName, String marker, String message) { LogDefinition answer = new LogDefinition(message); answer.setLoggingLevel(loggingLevel); answer.setLogName(logName); answer.setMarker(marker); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1337,14 +1309,13 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param message the log message, (you can use {@link org.apache.camel.language.simple.SimpleLanguage} syntax) * @return the builder */ - @SuppressWarnings("unchecked") public Type log(LoggingLevel loggingLevel, Logger logger, String marker, String message) { LogDefinition answer = new LogDefinition(message); answer.setLoggingLevel(loggingLevel); answer.setLogger(logger); answer.setMarker(marker); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1906,7 +1877,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> ThrowExceptionDefinition answer = new ThrowExceptionDefinition(); answer.setException(exception); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1921,7 +1892,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> answer.setExceptionClass(type); answer.setMessage(message); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1938,7 +1909,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> RollbackDefinition answer = new RollbackDefinition(); answer.setMarkRollbackOnly(true); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1958,7 +1929,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> RollbackDefinition answer = new RollbackDefinition(); answer.setMarkRollbackOnlyLast(true); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -1987,7 +1958,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> public Type rollback(String message) { RollbackDefinition answer = new RollbackDefinition(message); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2040,7 +2011,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> return blocks.isEmpty() ? null : blocks.removeLast(); } - @SuppressWarnings("unchecked") public Type startupOrder(int startupOrder) { ProcessorDefinition<?> def = this; @@ -2049,7 +2019,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> route.startupOrder(startupOrder); } - return (Type) this; + return asType(); } /** @@ -2057,11 +2027,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * * @return the builder */ - @SuppressWarnings("unchecked") public Type stop() { StopDefinition stop = new StopDefinition(); addOutput(stop); - return (Type) this; + return asType(); } /** @@ -2167,11 +2136,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param processor the custom {@link Processor} * @return the builder */ - @SuppressWarnings("unchecked") public Type process(Processor processor) { ProcessDefinition answer = new ProcessDefinition(processor); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2182,12 +2150,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param ref reference to a {@link Processor} to lookup in the registry * @return the builder */ - @SuppressWarnings("unchecked") public Type process(String ref) { ProcessDefinition answer = new ProcessDefinition(); answer.setRef(ref); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2212,7 +2179,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param bean the bean to invoke, or a reference to a bean if the type is a String * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Object bean) { BeanDefinition answer = new BeanDefinition(); if (bean instanceof String) { @@ -2221,7 +2187,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> answer.setBean(bean); } addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2232,7 +2198,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param method the method name to invoke on the bean (can be used to avoid ambiguity) * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Object bean, String method) { BeanDefinition answer = new BeanDefinition(); if (bean instanceof String) { @@ -2242,7 +2207,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> } answer.setMethod(method); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2255,7 +2220,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * the multi parameter * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Object bean, boolean cache) { BeanDefinition answer = new BeanDefinition(); if (bean instanceof String) { @@ -2265,7 +2229,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> } answer.setCache(cache); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2279,7 +2243,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * the multi parameter * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Object bean, String method, boolean cache) { BeanDefinition answer = new BeanDefinition(); if (bean instanceof String) { @@ -2290,7 +2253,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> answer.setMethod(method); answer.setCache(cache); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2300,12 +2263,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param beanType the bean class, Camel will instantiate an object at runtime * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Class<?> beanType) { BeanDefinition answer = new BeanDefinition(); answer.setBeanType(beanType); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2316,13 +2278,12 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param method the method name to invoke on the bean (can be used to avoid ambiguity) * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Class<?> beanType, String method) { BeanDefinition answer = new BeanDefinition(); answer.setBeanType(beanType); answer.setMethod(method); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2336,14 +2297,13 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * the multi parameter * @return the builder */ - @SuppressWarnings("unchecked") public Type bean(Class<?> beanType, String method, boolean cache) { BeanDefinition answer = new BeanDefinition(); answer.setBeanType(beanType); answer.setMethod(method); answer.setCache(cache); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2366,11 +2326,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param expression the expression used to set the body * @return the builder */ - @SuppressWarnings("unchecked") public Type setBody(Expression expression) { SetBodyDefinition answer = new SetBodyDefinition(expression); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2388,7 +2347,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> } }); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2406,7 +2365,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> } }); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2416,11 +2375,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param expression the expression used to set the body * @return the builder */ - @SuppressWarnings("unchecked") public Type transform(Expression expression) { TransformDefinition answer = new TransformDefinition(expression); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2442,11 +2400,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param expression the expression used as the script. * @return the builder */ - @SuppressWarnings("unchecked") public Type script(Expression expression) { ScriptDefinition answer = new ScriptDefinition(expression); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2470,7 +2427,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> public Type setFaultBody(Expression expression) { SetFaultBodyDefinition answer = new SetFaultBodyDefinition(expression); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2493,11 +2450,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param expression the expression used to set the header * @return the builder */ - @SuppressWarnings("unchecked") public Type setHeader(String name, Expression expression) { SetHeaderDefinition answer = new SetHeaderDefinition(name, expression); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2507,7 +2463,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param supplier the supplier used to set the header * @return the builder */ - @SuppressWarnings("unchecked") public Type setHeader(String name, final Supplier<Object> supplier) { SetHeaderDefinition answer = new SetHeaderDefinition(name, new ExpressionAdapter() { @Override @@ -2517,7 +2472,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> }); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2527,11 +2482,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param expression the expression used to set the property * @return the builder */ - @SuppressWarnings("unchecked") public Type setProperty(String name, Expression expression) { SetPropertyDefinition answer = new SetPropertyDefinition(name, expression); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2553,11 +2507,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param name the header name * @return the builder */ - @SuppressWarnings("unchecked") public Type removeHeader(String name) { RemoveHeaderDefinition answer = new RemoveHeaderDefinition(name); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2566,11 +2519,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param pattern a pattern to match header names to be removed * @return the builder */ - @SuppressWarnings("unchecked") public Type removeHeaders(String pattern) { RemoveHeadersDefinition answer = new RemoveHeadersDefinition(pattern); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2580,11 +2532,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param excludePatterns one or more pattern of header names that should be excluded (= preserved) * @return the builder */ - @SuppressWarnings("unchecked") public Type removeHeaders(String pattern, String... excludePatterns) { RemoveHeadersDefinition answer = new RemoveHeadersDefinition(pattern, excludePatterns); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2593,11 +2544,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param name the property name * @return the builder */ - @SuppressWarnings("unchecked") public Type removeProperty(String name) { RemovePropertyDefinition answer = new RemovePropertyDefinition(name); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2606,11 +2556,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param pattern a pattern to match properties names to be removed * @return the builder */ - @SuppressWarnings("unchecked") public Type removeProperties(String pattern) { RemovePropertiesDefinition answer = new RemovePropertiesDefinition(pattern); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2620,11 +2569,10 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param excludePatterns one or more pattern of properties names that should be excluded (= preserved) * @return the builder */ - @SuppressWarnings("unchecked") public Type removeProperties(String pattern, String... excludePatterns) { RemovePropertiesDefinition answer = new RemovePropertiesDefinition(pattern, excludePatterns); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2633,10 +2581,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param type the type to convert to * @return the builder */ - @SuppressWarnings("unchecked") public Type convertBodyTo(Class<?> type) { addOutput(new ConvertBodyDefinition(type)); - return (Type) this; + return asType(); } /** @@ -2646,10 +2593,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param charset the charset to use by type converters (not all converters support specifc charset) * @return the builder */ - @SuppressWarnings("unchecked") public Type convertBodyTo(Class<?> type, String charset) { addOutput(new ConvertBodyDefinition(type, charset)); - return (Type) this; + return asType(); } /** @@ -2669,10 +2615,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param comparator the comparator to use for sorting * @return the builder */ - @SuppressWarnings("unchecked") public <T> Type sort(Expression expression, Comparator<T> comparator) { addOutput(new SortDefinition<>(expression, comparator)); - return (Type) this; + return asType(); } /** @@ -2708,7 +2653,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> ClaimCheckDefinition answer = new ClaimCheckDefinition(); answer.setOperation(operation); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2738,7 +2683,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> answer.setKey(key); answer.setFilter(filter); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -2839,7 +2784,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @return the builder * @see org.apache.camel.processor.Enricher */ - @SuppressWarnings("unchecked") public Type enrich(@AsEndpointUri String resourceUri, AggregationStrategy aggregationStrategy, boolean aggregateOnException, boolean shareUnitOfWork) { EnrichDefinition answer = new EnrichDefinition(); answer.setExpression(new ConstantExpression(resourceUri)); @@ -2847,7 +2791,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> answer.setAggregateOnException(aggregateOnException); answer.setShareUnitOfWork(shareUnitOfWork); addOutput(answer); - return (Type) this; + return asType(); } /** @@ -3006,7 +2950,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @return the builder * @see org.apache.camel.processor.PollEnricher */ - @SuppressWarnings("unchecked") public Type pollEnrich(@AsEndpointUri String resourceUri, long timeout, AggregationStrategy aggregationStrategy, boolean aggregateOnException) { PollEnrichDefinition pollEnrich = new PollEnrichDefinition(); pollEnrich.setExpression(new ConstantExpression(resourceUri)); @@ -3014,7 +2957,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> pollEnrich.setAggregationStrategy(aggregationStrategy); pollEnrich.setAggregateOnException(aggregateOnException); addOutput(pollEnrich); - return (Type) this; + return asType(); } /** @@ -3037,7 +2980,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @return the builder * @see org.apache.camel.processor.PollEnricher */ - @SuppressWarnings("unchecked") public Type pollEnrich(@AsEndpointUri String resourceUri, long timeout, String aggregationStrategyRef, boolean aggregateOnException) { PollEnrichDefinition pollEnrich = new PollEnrichDefinition(); pollEnrich.setExpression(new ConstantExpression(resourceUri)); @@ -3045,7 +2987,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> pollEnrich.setAggregationStrategyRef(aggregationStrategyRef); pollEnrich.setAggregateOnException(aggregateOnException); addOutput(pollEnrich); - return (Type) this; + return asType(); } /** @@ -3089,7 +3031,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @return the builder * @see org.apache.camel.processor.PollEnricher */ - @SuppressWarnings("unchecked") public Type pollEnrich(@AsEndpointUri Expression expression, long timeout, String aggregationStrategyRef, boolean aggregateOnException) { PollEnrichDefinition pollEnrich = new PollEnrichDefinition(); pollEnrich.setExpression(new ExpressionDefinition(expression)); @@ -3097,7 +3038,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> pollEnrich.setAggregationStrategyRef(aggregationStrategyRef); pollEnrich.setAggregateOnException(aggregateOnException); addOutput(pollEnrich); - return (Type) this; + return asType(); } /** @@ -3171,10 +3112,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param dataFormatType the dataformat * @return the builder */ - @SuppressWarnings("unchecked") public Type unmarshal(DataFormatDefinition dataFormatType) { addOutput(new UnmarshalDefinition(dataFormatType)); - return (Type) this; + return asType(); } /** @@ -3221,10 +3161,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param dataFormatType the dataformat * @return the builder */ - @SuppressWarnings("unchecked") public Type marshal(DataFormatDefinition dataFormatType) { addOutput(new MarshalDefinition(dataFormatType)); - return (Type) this; + return asType(); } /** @@ -3248,10 +3187,9 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param dataTypeRef reference to a {@link DataFormat} to lookup in the registry * @return the builder */ - @SuppressWarnings("unchecked") public Type marshal(String dataTypeRef) { addOutput(new MarshalDefinition(new CustomDataFormat(dataTypeRef))); - return (Type) this; + return asType(); } /** @@ -3265,7 +3203,6 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> * @param inheritErrorHandler whether to not to inherit the error handler for this node * @return the builder */ - @SuppressWarnings("unchecked") public Type inheritErrorHandler(boolean inheritErrorHandler) { // set on last output int size = getOutputs().size(); @@ -3279,6 +3216,11 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type> output.setInheritErrorHandler(inheritErrorHandler); } } + return asType(); + } + + @SuppressWarnings("unchecked") + Type asType() { return (Type) this; }