Class ExpressionClause<T>

java.lang.Object
org.apache.camel.builder.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 Details

    • ExpressionClause

      public ExpressionClause(T result)
  • Method Details

    • 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(BiFunction<Object,Map<String,Object>,Object> function)
      A functional expression of an inbound message body and headers
    • 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
    • js

      public T js(String value)
      Returns a JavaScript expression value builder
    • js

      public T js(String value, Class<?> resultType)
      Returns a JavaScript expression value builder
    • 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
    • jsonpathUnpack

      public T jsonpathUnpack(String text, Class<?> resultType)
      Evaluates a Json Path expression with unpacking a single-element array into an object enabled.
      Parameters:
      text - the expression to be evaluated
      resultType - the return type expected by the expression
      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
    • python

      public T python(String text)
      Evaluates a Python expression.
      Parameters:
      text - the expression to be evaluated
      Returns:
      the builder to continue processing the DSL
    • python

      public T python(String text, Class<?> resultType)
      Evaluates a Python expression.
      Parameters:
      text - the expression to be evaluated
      resultType - the return type expected by the expression
      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