Class ExpressionClause<T>

  • All Implemented Interfaces:
    org.apache.camel.Expression, org.apache.camel.Predicate

    public class ExpressionClause<T>
    extends Object
    implements org.apache.camel.Expression, org.apache.camel.Predicate
    Represents an expression clause within the DSL which when the expression is complete the clause continues to another part of the DSL
    • Constructor Detail

      • ExpressionClause

        public ExpressionClause​(T result)
    • Method Detail

      • expression

        public T expression​(org.apache.camel.Expression expression)
        Specify an Expression instance
      • constant

        public T constant​(Object value)
        Specify the constant expression value. Important: this is a fixed constant value that is only set once during starting up the route, do not use this if you want dynamic values during routing.
      • constant

        public T constant​(String value,
                          Class<?> resultType)
        Specify the constant expression value. Important: this is a fixed constant value that is only set once during starting up the route, do not use this if you want dynamic values during routing.
      • constant

        public T constant​(Object value,
                          boolean trim)
        Specify the constant expression value. Important: this is a fixed constant value that is only set once during starting up the route, do not use this if you want dynamic values during routing.
      • exchange

        public T exchange()
        An expression of the exchange
      • exchange

        public T exchange​(Function<org.apache.camel.Exchange,​Object> function)
        A functional expression of the exchange
      • message

        public T message()
        An expression of an inbound message
      • message

        public T message​(Function<org.apache.camel.Message,​Object> function)
        A functional expression of an inbound message
      • inMessage

        public T inMessage()
        An expression of an inbound message
      • inMessage

        public T inMessage​(Function<org.apache.camel.Message,​Object> function)
        A functional expression of an inbound message
      • body

        public T body()
        An expression of an inbound message body
      • body

        public T body​(Function<Object,​Object> function)
        A functional expression of an inbound message body
      • body

        public T body​(Class<?> expectedType)
        An expression of an inbound message body converted to the expected type
      • body

        public <B> T body​(Class<B> expectedType,
                          Function<B,​Object> function)
        A functional expression of an inbound message body converted to the expected type
      • body

        public <B> T body​(Class<B> expectedType,
                          BiFunction<B,​Map<String,​Object>,​Object> function)
        A functional expression of an inbound message body converted to the expected type and headers
      • header

        public T header​(String name)
        An expression of an inbound message header of the given name
      • headers

        public T headers()
        An expression of the inbound headers
      • exchangeProperty

        public T exchangeProperty​(String name)
        An expression of an exchange property of the given name
      • exchangeProperties

        public T exchangeProperties()
        An expression of the exchange properties
      • method

        public T method​(String ref)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value.
        Parameters:
        ref - the name (bean id) of the bean to lookup from the registry
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(Object instance)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value.
        Parameters:
        instance - the existing instance of the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(Class<?> beanType)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value. Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).
        Parameters:
        beanType - the Class of the bean which we want to invoke
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(String ref,
                        String method)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value.
        Parameters:
        ref - the name (bean id) of the bean to lookup from the registry
        method - the name of the method to invoke on the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(String ref,
                        org.apache.camel.BeanScope scope)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value.
        Parameters:
        ref - the name (bean id) of the bean to lookup from the registry
        scope - the scope of the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(String ref,
                        String method,
                        org.apache.camel.BeanScope scope)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value.
        Parameters:
        ref - the name (bean id) of the bean to lookup from the registry
        method - the name of the method to invoke on the bean
        scope - the scope of the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(Object instance,
                        String method)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value.
        Parameters:
        instance - the existing instance of the bean
        method - the name of the method to invoke on the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(Class<?> beanType,
                        String method)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value. Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).
        Parameters:
        beanType - the Class of the bean which we want to invoke
        method - the name of the method to invoke on the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(Class<?> beanType,
                        org.apache.camel.BeanScope scope)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value. Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).
        Parameters:
        beanType - the Class of the bean which we want to invoke
        scope - the scope of the bean
        Returns:
        the builder to continue processing the DSL
      • method

        public T method​(Class<?> beanType,
                        String method,
                        org.apache.camel.BeanScope scope)
        Evaluates an expression using the bean language which basically means the bean is invoked to determine the expression value. Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).
        Parameters:
        beanType - the Class of the bean which we want to invoke
        method - the name of the method to invoke on the bean
        scope - the scope of the bean
        Returns:
        the builder to continue processing the DSL
      • groovy

        public T groovy​(String text)
        Evaluates a Groovy expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • joor

        public T joor​(String value)
        Returns a JOOR expression value builder
      • joor

        public T joor​(String value,
                      Class<?> resultType)
        Returns a JOOR expression value builder
      • jq

        public T jq​(String value)
        Evaluates a JQ expression
        Parameters:
        value - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • jq

        public T jq​(String value,
                    Class<?> resultType)
        Evaluates a JQ expression
        Parameters:
        value - the expression to be evaluated
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • jq

        public T jq​(String value,
                    String headerOrPropertyName)
        Evaluates a JQ expression
        Parameters:
        value - the expression to be evaluated
        headerOrPropertyName - the name of the header or property to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • jq

        public T jq​(String value,
                    String headerName,
                    String propertyName)
        Evaluates a JQ expression
        Parameters:
        value - the expression to be evaluated
        headerName - the name of the header to apply the expression to
        propertyName - the name of the property to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • jq

        public T jq​(String value,
                    Class<?> resultType,
                    String headerOrPropertyName)
        Evaluates a JQ expression
        Parameters:
        value - the expression to be evaluated
        resultType - the return type expected by the expression
        headerOrPropertyName - the name of the header or property to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • jq

        public T jq​(String value,
                    Class<?> resultType,
                    String headerName,
                    String propertyName)
        Evaluates a JQ expression
        Parameters:
        value - the expression to be evaluated
        resultType - the return type expected by the expression
        headerName - the name of the header to apply the expression to
        propertyName - the name of the property to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • datasonnet

        public T datasonnet​(String text)
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • jsonpath

        public T jsonpath​(String text)
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • jsonpath

        public T jsonpath​(String text,
                          boolean suppressExceptions)
        Parameters:
        text - the expression to be evaluated
        suppressExceptions - whether to suppress exceptions such as PathNotFoundException
        Returns:
        the builder to continue processing the DSL
      • jsonpath

        public T jsonpath​(String text,
                          Class<?> resultType)
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • jsonpath

        public T jsonpath​(String text,
                          boolean suppressExceptions,
                          Class<?> resultType)
        Parameters:
        text - the expression to be evaluated
        suppressExceptions - whether to suppress exceptions such as PathNotFoundException
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • jsonpath

        public T jsonpath​(String text,
                          boolean suppressExceptions,
                          Class<?> resultType,
                          String headerName)
        Parameters:
        text - the expression to be evaluated
        suppressExceptions - whether to suppress exceptions such as PathNotFoundException
        resultType - the return type expected by the expression
        headerName - the name of the header to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • jsonpathWriteAsString

        public T jsonpathWriteAsString​(String text)
        Evaluates a Json Path expression with writeAsString enabled.
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • jsonpathWriteAsString

        public T jsonpathWriteAsString​(String text,
                                       Class<?> resultType)
        Evaluates a Json Path expression with writeAsString enabled.
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • jsonpathWriteAsString

        public T jsonpathWriteAsString​(String text,
                                       boolean suppressExceptions)
        Evaluates a Json Path expression with writeAsString enabled.
        Parameters:
        text - the expression to be evaluated
        suppressExceptions - whether to suppress exceptions such as PathNotFoundException
        Returns:
        the builder to continue processing the DSL
      • jsonpathWriteAsString

        public T jsonpathWriteAsString​(String text,
                                       boolean suppressExceptions,
                                       Class<?> resultType)
        Evaluates a Json Path expression with writeAsString enabled.
        Parameters:
        text - the expression to be evaluated
        suppressExceptions - whether to suppress exceptions such as PathNotFoundException
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • jsonpathWriteAsString

        public T jsonpathWriteAsString​(String text,
                                       boolean suppressExceptions,
                                       String headerName)
        Evaluates a Json Path expression with writeAsString enabled.
        Parameters:
        text - the expression to be evaluated
        suppressExceptions - whether to suppress exceptions such as PathNotFoundException
        headerName - the name of the header to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • ognl

        public T ognl​(String text)
        Evaluates an OGNL expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • mvel

        public T mvel​(String text)
        Evaluates a MVEL expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • ref

        public T ref​(String ref)
        Evaluates a Ref expression
        Parameters:
        ref - refers to the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • spel

        public T spel​(String text)
        Evaluates a SpEL expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • csimple

        public T csimple​(String value)
        Returns a compiled simple expression value builder
      • csimple

        public T csimple​(String value,
                         Class<?> resultType)
        Returns a compile simple expression value builder
      • simple

        public T simple​(String text)
        Evaluates a Simple expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • simple

        public T simple​(String text,
                        Class<?> resultType)
        Evaluates a Simple expression
        Parameters:
        text - the expression to be evaluated
        resultType - the result type
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex,
                          boolean skipFirst)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        skipFirst - whether to skip the first element
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex,
                          int group)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        group - to group by the given number
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex,
                          String group)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        group - to group by the given number
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex,
                          int group,
                          boolean skipFirst)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        group - to group by the given number
        skipFirst - whether to skip the first element
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex,
                          String group,
                          boolean skipFirst)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        group - to group by the given number
        skipFirst - whether to skip the first element
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          boolean regex,
                          int group,
                          String groupDelimiter,
                          boolean skipFirst)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        regex - whether the token is a regular expression or not
        group - to group by the given number
        skipFirst - whether to skip the first element
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          int group)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        group - to group by the given number
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          int group,
                          boolean skipFirst)
        Evaluates a token expression on the message body
        Parameters:
        token - the token
        group - to group by the given number
        skipFirst - whether to skip the first element
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          String headerName)
        Evaluates a token expression on the given header
        Parameters:
        token - the token
        headerName - name of header to tokenize
        Returns:
        the builder to continue processing the DSL
      • tokenize

        public T tokenize​(String token,
                          String headerName,
                          boolean regex)
        Evaluates a token expression on the given header
        Parameters:
        token - the token
        headerName - name of header to tokenize
        regex - whether the token is a regular expression or not
        Returns:
        the builder to continue processing the DSL
      • tokenizePair

        public T tokenizePair​(String startToken,
                              String endToken)
        Evaluates a token pair expression on the message body.

        Tokens is not included.

        Parameters:
        startToken - the start token
        endToken - the end token
        Returns:
        the builder to continue processing the DSL
      • tokenizePair

        public T tokenizePair​(String startToken,
                              String endToken,
                              boolean includeTokens)
        Evaluates a token pair expression on the message body
        Parameters:
        startToken - the start token
        endToken - the end token
        includeTokens - whether to include tokens
        Returns:
        the builder to continue processing the DSL
      • tokenizeXML

        public T tokenizeXML​(String tagName)
        Evaluates a XML token expression on the message body with XML content
        Parameters:
        tagName - the tag name of the child nodes to tokenize
        Returns:
        the builder to continue processing the DSL
      • tokenizeXML

        public T tokenizeXML​(String tagName,
                             int group)
        Evaluates a XML token expression on the message body with XML content
        Parameters:
        tagName - the tag name of the child nodes to tokenize
        group - to group by the given number
        Returns:
        the builder to continue processing the DSL
      • tokenizeXML

        public T tokenizeXML​(String tagName,
                             String inheritNamespaceTagName)
        Evaluates a token pair expression on the message body with XML content
        Parameters:
        tagName - the tag name of the child nodes to tokenize
        inheritNamespaceTagName - parent or root tag name that contains namespace(s) to inherit
        Returns:
        the builder to continue processing the DSL
      • tokenizeXML

        public T tokenizeXML​(String tagName,
                             String inheritNamespaceTagName,
                             int group)
        Evaluates a token pair expression on the message body with XML content
        Parameters:
        tagName - the tag name of the child nodes to tokenize
        inheritNamespaceTagName - parent or root tag name that contains namespace(s) to inherit
        group - to group by the given number
        Returns:
        the builder to continue processing the DSL
      • xtokenize

        public T xtokenize​(String path,
                           org.apache.camel.support.builder.Namespaces namespaces)
      • xtokenize

        public T xtokenize​(String path,
                           char mode,
                           org.apache.camel.support.builder.Namespaces namespaces)
      • xtokenize

        public T xtokenize​(String path,
                           char mode,
                           org.apache.camel.support.builder.Namespaces namespaces,
                           int group)
      • xpath

        public T xpath​(String text)
        Evaluates an XPath expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       String headerName)
        Evaluates an XPath expression on the supplied header name's contents
        Parameters:
        text - the expression to be evaluated
        headerName - the name of the header to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       Class<?> resultType)
        Evaluates an XPath expression with the specified result type
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       Class<?> resultType,
                       String headerName)
        Evaluates an XPath expression with the specified result type on the supplied header name's contents
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        headerName - the name of the header to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       Class<?> resultType,
                       org.apache.camel.support.builder.Namespaces namespaces)
        Evaluates an XPath expression with the specified result type and set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       Class<?> resultType,
                       org.apache.camel.support.builder.Namespaces namespaces,
                       String headerName)
        Evaluates an XPath expression with the specified result type and set of namespace prefixes and URIs on the supplied header name's contents
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        headerName - the name of the header to apply the expression to
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       Class<?> resultType,
                       Map<String,​String> namespaces)
        Evaluates an XPath expression with the specified result type and set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       org.apache.camel.support.builder.Namespaces namespaces)
        Evaluates an XPath expression with the specified set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xpath

        public T xpath​(String text,
                       Map<String,​String> namespaces)
        Evaluates an XPath expression with the specified set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text)
        Evaluates an XQuery expression
        Parameters:
        text - the expression to be evaluated
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        String headerName)
        Evaluates an XPath expression on the supplied header name's contents
        Parameters:
        text - the expression to be evaluated
        headerName - the name of the header to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        Class<?> resultType)
        Evaluates an XQuery expression with the specified result type
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        Class<?> resultType,
                        String headerName)
        Evaluates an XQuery expression with the specified result type
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        headerName - the name of the header to apply the expression to
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        Class<?> resultType,
                        org.apache.camel.support.builder.Namespaces namespaces)
        Evaluates an XQuery expression with the specified result type and set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        Class<?> resultType,
                        org.apache.camel.support.builder.Namespaces namespaces,
                        String headerName)
        Evaluates an XQuery expression with the specified result type
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        headerName - the name of the header to apply the expression to
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        Class<?> resultType,
                        Map<String,​String> namespaces)
        Evaluates an XQuery expression with the specified result type and set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        resultType - the return type expected by the expression
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        org.apache.camel.support.builder.Namespaces namespaces)
        Evaluates an XQuery expression with the specified set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • xquery

        public T xquery​(String text,
                        Map<String,​String> namespaces)
        Evaluates an XQuery expression with the specified set of namespace prefixes and URIs
        Parameters:
        text - the expression to be evaluated
        namespaces - the namespace prefix and URIs to use
        Returns:
        the builder to continue processing the DSL
      • language

        public T language​(String language,
                          String expression)
        Evaluates a given language name with the expression text
        Parameters:
        language - the name of the language
        expression - the expression in the given language
        Returns:
        the builder to continue processing the DSL
      • getExpressionValue

        public org.apache.camel.Expression getExpressionValue()
      • getExpressionType

        public org.apache.camel.ExpressionFactory getExpressionType()
      • init

        public void init​(org.apache.camel.CamelContext context)
        Specified by:
        init in interface org.apache.camel.Expression
        Specified by:
        init in interface org.apache.camel.Predicate
      • initPredicate

        public void initPredicate​(org.apache.camel.CamelContext context)
        Specified by:
        initPredicate in interface org.apache.camel.Predicate
      • evaluate

        public <T> T evaluate​(org.apache.camel.Exchange exchange,
                              Class<T> type)
        Specified by:
        evaluate in interface org.apache.camel.Expression
      • matches

        public boolean matches​(org.apache.camel.Exchange exchange)
        Specified by:
        matches in interface org.apache.camel.Predicate