Package org.apache.camel.model
Class RouteTemplateDefinition
java.lang.Object
org.apache.camel.model.OptionalIdentifiedDefinition<RouteTemplateDefinition>
org.apache.camel.model.RouteTemplateDefinition
- All Implemented Interfaces:
org.apache.camel.CamelContextAware,org.apache.camel.LineNumberAware,org.apache.camel.NamedNode,org.apache.camel.spi.HasCamelContext,org.apache.camel.spi.HasId,org.apache.camel.spi.IdAware
@Metadata(label="configuration")
public class RouteTemplateDefinition
extends OptionalIdentifiedDefinition<RouteTemplateDefinition>
Defines a route template (parameterized routes)
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a copy of this template as aRouteDefinitionwhich can be used to add as a new route.Sets a configurer which allows to do configuration while the route template is being used to create a route.description(String description) Sets the description of this nodeCreates an input to the routefrom(EndpointConsumerBuilder endpoint) Creates an input to the routefrom(org.apache.camel.Endpoint endpoint) Creates an input to the routeConsumer<org.apache.camel.RouteTemplateContext>getLabel()getRoute()route()To define the route in the templatevoidsetConfigurer(Consumer<org.apache.camel.RouteTemplateContext> configurer) voidsetRoute(RouteDefinition route) voidsetTemplateBeans(List<RouteTemplateBeanDefinition> templateBeans) voidsetTemplateParameters(List<RouteTemplateParameterDefinition> templateParameters) templateBean(String name) Adds a local bean the route template uses (via fluent builder)templateBean(String name, Class<?> type) Adds a local bean the route template usestemplateBean(String name, Class<?> type, String language, String script) Adds a local bean the route template usestemplateBean(String name, Class<?> type, org.apache.camel.RouteTemplateContext.BeanSupplier<Object> bean) Adds a local bean the route template usestemplateBean(String name, Object bean) Adds a local bean the route template usestemplateBean(String name, String language, String script) Adds a local bean the route template usestemplateBean(String name, Supplier<Object> bean) Adds a local bean the route template usesAdds an optional parameter the route template usestemplateOptionalParameter(String name, String description) Adds an optional parameter the route template usestemplateParameter(String name) Adds a required parameter the route template usestemplateParameter(String name, String defaultValue) Adds a parameter (will use default value if not provided) the route template usestemplateParameter(String name, String defaultValue, String description) Adds a parameter (will use default value if not provided) the route template usestemplateParameters(Map<String, String> parameters) Adds the parameters the route template uses.Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, getParent, hasCustomIdAssigned, id, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setId, setLineNumber, setLocation
-
Constructor Details
-
RouteTemplateDefinition
public RouteTemplateDefinition()
-
-
Method Details
-
getTemplateParameters
-
setTemplateParameters
-
getTemplateBeans
-
setTemplateBeans
-
getRoute
-
setRoute
-
setConfigurer
-
getConfigurer
-
from
Creates an input to the route- Parameters:
uri- the from uri- Returns:
- the builder
-
from
Creates an input to the route- Parameters:
endpoint- the from endpoint- Returns:
- the builder
-
from
Creates an input to the route- Parameters:
endpoint- the from endpoint- Returns:
- the builder
-
route
To define the route in the template -
description
Description copied from class:OptionalIdentifiedDefinitionSets the description of this node- Overrides:
descriptionin classOptionalIdentifiedDefinition<RouteTemplateDefinition>- Parameters:
description- sets the text description, use null to not set a text- Returns:
- the builder
-
templateParameter
Adds a required parameter the route template uses- Parameters:
name- the name of the parameter
-
templateOptionalParameter
Adds an optional parameter the route template uses- Parameters:
name- the name of the parameter
-
templateOptionalParameter
Adds an optional parameter the route template uses- Parameters:
name- the name of the parameterdescription- the description of the parameter
-
templateParameter
Adds a parameter (will use default value if not provided) the route template uses- Parameters:
name- the name of the parameterdefaultValue- default value of the parameter
-
templateParameter
public RouteTemplateDefinition templateParameter(String name, String defaultValue, String description) Adds a parameter (will use default value if not provided) the route template uses- Parameters:
name- the name of the parameterdefaultValue- default value of the parameterdescription- the description of the parameter
-
templateParameters
Adds the parameters the route template uses. The keys in the map is the parameter names, and the values are optional default value. If a parameter has no default value then the parameter is required.- Parameters:
parameters- the parameters (only name and default values)
-
templateBean
Adds a local bean the route template uses- Parameters:
name- the name of the beantype- the type of the bean to associate the binding
-
templateBean
Adds a local bean the route template uses- Parameters:
name- the name of the beanbean- the bean, or reference to bean (#class or #type), or a supplier for the bean
-
templateBean
Adds a local bean the route template uses- Parameters:
name- the name of the beanbean- the supplier for the bean
-
templateBean
public RouteTemplateDefinition templateBean(String name, Class<?> type, org.apache.camel.RouteTemplateContext.BeanSupplier<Object> bean) Adds a local bean the route template uses- Parameters:
name- the name of the beantype- the type of the bean to associate the bindingbean- a supplier for the bean
-
templateBean
Adds a local bean the route template uses- Parameters:
name- the name of the beanlanguage- the language to usescript- the script to use for creating the local bean
-
templateBean
public RouteTemplateDefinition templateBean(String name, Class<?> type, String language, String script) Adds a local bean the route template uses- Parameters:
name- the name of the beantype- the type of the bean to associate the bindinglanguage- the language to usescript- the script to use for creating the local bean
-
templateBean
Adds a local bean the route template uses (via fluent builder)- Parameters:
name- the name of the bean- Returns:
- fluent builder to choose which language and script to use for creating the bean
-
configure
public RouteTemplateDefinition configure(Consumer<org.apache.camel.RouteTemplateContext> configurer) Sets a configurer which allows to do configuration while the route template is being used to create a route. This gives control over the creating process, such as binding local beans and doing other kind of customization.- Parameters:
configurer- the configurer with callback to invoke with the given route template context
-
getShortName
-
getLabel
-
asRouteDefinition
Creates a copy of this template as aRouteDefinitionwhich can be used to add as a new route.
-