Class RouteTemplateDefinition

  • All Implemented Interfaces:
    org.apache.camel.CamelContextAware, org.apache.camel.LineNumberAware, org.apache.camel.NamedNode, org.apache.camel.spi.HasId, org.apache.camel.spi.IdAware

    @Metadata(label="configuration")
    public class RouteTemplateDefinition
    extends OptionalIdentifiedDefinition
    Defines a route template (parameterized routes)
    • Constructor Detail

      • RouteTemplateDefinition

        public RouteTemplateDefinition()
    • Method Detail

      • setConfigurer

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

        public Consumer<org.apache.camel.RouteTemplateContext> getConfigurer()
      • 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
      • route

        public RouteDefinition route()
        To define the route in the template
      • 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()
      • getLabel

        public String getLabel()
      • asRouteDefinition

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