Class 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, org.apache.camel.spi.ResourceAware

@Metadata(label="configuration") public class RouteTemplateDefinition extends OptionalIdentifiedDefinition<RouteTemplateDefinition> implements org.apache.camel.spi.ResourceAware
Defines a route template (parameterized routes)
  • Constructor Details

    • RouteTemplateDefinition

      public RouteTemplateDefinition()
  • Method Details

    • getTemplateParameters

      public List<RouteTemplateParameterDefinition> getTemplateParameters()
    • setTemplateParameters

      public void setTemplateParameters(List<RouteTemplateParameterDefinition> templateParameters)
    • getTemplateBeans

      public List<RouteTemplateBeanDefinition> getTemplateBeans()
    • setTemplateBeans

      public void setTemplateBeans(List<RouteTemplateBeanDefinition> templateBeans)
    • getRoute

      public RouteDefinition getRoute()
    • setRoute

      public void setRoute(RouteDefinition route)
    • setConfigurer

      public void setConfigurer(Consumer<org.apache.camel.RouteTemplateContext> configurer)
    • getConfigurer

      public Consumer<org.apache.camel.RouteTemplateContext> getConfigurer()
    • getResource

      public org.apache.camel.spi.Resource getResource()
      Specified by:
      getResource in interface org.apache.camel.spi.ResourceAware
    • setResource

      public void setResource(org.apache.camel.spi.Resource resource)
      Specified by:
      setResource in interface org.apache.camel.spi.ResourceAware
    • from

      public RouteDefinition from(@AsEndpointUri String uri)
      Creates an input to the route
      Parameters:
      uri - the from uri
      Returns:
      the builder
    • from

      public RouteDefinition from(org.apache.camel.Endpoint endpoint)
      Creates an input to the route
      Parameters:
      endpoint - the from endpoint
      Returns:
      the builder
    • from

      public RouteDefinition from(EndpointConsumerBuilder endpoint)
      Creates an input to the route
      Parameters:
      endpoint - the from endpoint
      Returns:
      the builder
    • route

      public RouteDefinition route()
      To define the route in the template
    • description

      public RouteTemplateDefinition description(String description)
      Description copied from class: OptionalIdentifiedDefinition
      Sets the description of this node
      Overrides:
      description in class OptionalIdentifiedDefinition<RouteTemplateDefinition>
      Parameters:
      description - sets the text description, use null to not set a text
      Returns:
      the builder
    • templateParameter

      public RouteTemplateDefinition templateParameter(String name)
      Adds a required parameter the route template uses
      Parameters:
      name - the name of the parameter
    • templateOptionalParameter

      public RouteTemplateDefinition templateOptionalParameter(String name)
      Adds an optional parameter the route template uses
      Parameters:
      name - the name of the parameter
    • templateOptionalParameter

      public RouteTemplateDefinition templateOptionalParameter(String name, String description)
      Adds an optional parameter the route template uses
      Parameters:
      name - the name of the parameter
      description - the description of the parameter
    • templateParameter

      public RouteTemplateDefinition templateParameter(String name, String defaultValue)
      Adds a parameter (will use default value if not provided) the route template uses
      Parameters:
      name - the name of the parameter
      defaultValue - 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 parameter
      defaultValue - default value of the parameter
      description - the description of the parameter
    • templateParameters

      public RouteTemplateDefinition templateParameters(Map<String,String> parameters)
      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

      public RouteTemplateDefinition templateBean(String name, Class<?> type)
      Adds a local bean the route template uses
      Parameters:
      name - the name of the bean
      type - the type of the bean to associate the binding
    • templateBean

      public RouteTemplateDefinition templateBean(String name, Object bean)
      Adds a local bean the route template uses
      Parameters:
      name - the name of the bean
      bean - the bean, or reference to bean (#class or #type), or a supplier for the bean
    • templateBean

      public RouteTemplateDefinition templateBean(String name, Supplier<Object> bean)
      Adds a local bean the route template uses
      Parameters:
      name - the name of the bean
      bean - 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 bean
      type - the type of the bean to associate the binding
      bean - a supplier for the bean
    • templateBean

      public RouteTemplateDefinition templateBean(String name, String language, String script)
      Adds a local bean the route template uses
      Parameters:
      name - the name of the bean
      language - the language to use
      script - 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 bean
      type - the type of the bean to associate the binding
      language - the language to use
      script - the script to use for creating the local bean
    • templateBean

      public RouteTemplateBeanDefinition templateBean(String name)
      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

      public String getShortName()
      Specified by:
      getShortName in interface org.apache.camel.NamedNode
    • getLabel

      public String getLabel()
      Specified by:
      getLabel in interface org.apache.camel.NamedNode
    • asRouteDefinition

      public RouteDefinition asRouteDefinition()
      Creates a copy of this template as a RouteDefinition which can be used to add as a new route.