I think I'm done with a first usable pass at the endpoint DSL.
I've removed the getters/setters, added 2 flavors of fluent methods (one
with the real java type, another one with a String to allow references and
property placeholder processing), renamed the generated classes to
XxxEndpointBuilder and cleaned things a bit.
In order to access this API, one would create an EndpointRouteBuilder
anonymous class instead of the usual RouteBuilder (see below).  The only
difference is that it gives immediate access to the fromXxx() and toXxx()
methods that are generated as default methods on the interface, so there's
no need to import anything else.
Please have a look and let me know what you think or if we see anything to
improve.

Cheers,
Guillaume

protected RouteBuilder createRouteBuilder() throws Exception {
    return new EndpointRouteBuilder() {
        @Override
        public void configure() throws Exception {
            from(fromFile(start).initialDelay(0).delay(10).move(done +
"/${file:name}"))
                    .to(toMock("result"));
        }
    };
}


Le mer. 5 juin 2019 à 23:23, Guillaume Nodet <gno...@apache.org> a écrit :

> I just pushed a branch called "endpoint-dsl".
>
> My goal is to experiment with an auto-generated DSL for endpoints, mainly
> to have a complete and type-safe java DSL for endpoints instead of using
> URI containing all the parameters.  Right now, it compiles but isn't really
> usable at a DSL.
> I'll get back as soon as I have something which can actually be used so
> that we can discuss further various options.
> My rough goal is to be able to write something like:
>
>    from(file("target/data/foo").delay(4000).backoffMultiplier(4
> ).backoffIdleThreshold(2).backoffErrorThreshold(3))
>       .to(mock("result"))
>
> instead of
>
>    from(
> "file://target/data/foo?delay=4000&backoffMultiplier=4&backoffIdleThreshold=2&backoffErrorThreshold=3"
> )
>       .to("mock:result")
>
> Stay tuned !
>
> --
> ------------------------
> Guillaume Nodet
>
>

-- 
------------------------
Guillaume Nodet

Reply via email to