[
https://issues.apache.org/jira/browse/CAMEL-18697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicolas Filotto updated CAMEL-18697:
------------------------------------
Description:
For Java DSL then we have a language builder at
{{org.apache.camel.builder.ExpressionClause}}
This class is very verbose as for Java DSL we have overloaded methods to set
the various options, but it can get too far like {{tokenize}} with 12 methods.
Instead, we should propose a builder DSL class that the {{RouteBuilder}} can
provide.
{noformat}
expression(
expression()
.tokenize()
.token(bla bla)
.regex(true)
.end()
){noformat}
Then we can still manually add a few methods for common use cases, so you can
do {{.tokenize(bla bla, true)}}.
was:
For Java DSL then we have a language builder at
{{org.apache.camel.builder.ExpressionClause}}
This class is very verbose as for Java DSL we have overloaded methods to set
the various options, but it can get too far like {{tokenize}} with 12 methods.
Instead, we should propose a builder DSL class that the {{RouteBuilder}} can
provide.
{noformat}
expression(
expression()
.tokenize()
.token(bla bla)
.regex(true)
.end()
){noformat}
Then we can still manually add a few methods for common use cases, so you can
do {{marshal().token(bla bla, true)}}.
> camel-core - Propose a DSL for languages
> ----------------------------------------
>
> Key: CAMEL-18697
> URL: https://issues.apache.org/jira/browse/CAMEL-18697
> Project: Camel
> Issue Type: Improvement
> Components: came-core
> Reporter: Nicolas Filotto
> Assignee: Nicolas Filotto
> Priority: Major
>
> For Java DSL then we have a language builder at
> {{org.apache.camel.builder.ExpressionClause}}
> This class is very verbose as for Java DSL we have overloaded methods to set
> the various options, but it can get too far like {{tokenize}} with 12 methods.
> Instead, we should propose a builder DSL class that the {{RouteBuilder}} can
> provide.
> {noformat}
> expression(
> expression()
> .tokenize()
> .token(bla bla)
> .regex(true)
> .end()
> ){noformat}
> Then we can still manually add a few methods for common use cases, so you can
> do {{.tokenize(bla bla, true)}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)