<div>Sorry Guys,</div><div><br></div><div>I did not pay attention to that. Actually when I said +1 I wanted to say +1 to pipeline.pipe(Class) and not to pipeline.add(Class) </div><div><br></div><div>using pipeline.pipe(Project.class).buildAndAdd() you don't need to specify mandatory "name" and "class" to call buildAndAdd() </div>
<div><br></div><div>The way I see, it's less effort to do, so wdyt?</div><div><br></div><div><a href="https://gist.github.com/3973193">https://gist.github.com/3973193</a></div><br><div class="gmail_quote">On Thu, Nov 1, 2012 at 10:48 AM, Summers Pittman <span dir="ltr"><<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-1 to Pipeline.add<br>
+1 to Pipline.pipe w/ buildAndAdd() (or overloading build to also add)<br>
<br>
I don't like pipeline.add(Class) because it implies that the adding is happening then and you don't have to do more work. I like buildAndAdd or overloading the builder Pipeline provides because it is either more explicit or more automatic respectivly.<br>
<div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
From: "Matthias Wessendorf" <<a href="mailto:matzew@apache.org">matzew@apache.org</a>><br>
To: "AeroGear Developer Mailing List" <<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>><br>
Sent: Thursday, November 1, 2012 7:49:11 AM<br>
Subject: Re: [aerogear-dev] AEROGEAR-593 - Builder pattern isn't consistent<br>
<br>
On Thu, Nov 1, 2012 at 12:15 PM, Daniel Passos <<a href="mailto:daniel@passos.me">daniel@passos.me</a>> wrote:<br>
> +1 to pipeline.add(Project.class)<br>
<br>
One more thing.. 'pipeline.add(Type.class);' will reflect to the following URL:<br>
<a href="http://BASE_URL/types" target="_blank">http://BASE_URL/types</a> <<<== note the 's' for plural ....<br>
<br>
Fluent API:<br>
the combination of 'add()' and a followed/ending 'build()' makes sense<br>
in terms of a fluent API:<br>
- here you add something (-> pipe) that is created (build) at the end<br>
of the statement...<br>
<br>
A little note aside...<br>
<br>
Pipeline pipeline = new Pipeline(ROOT_URL);<br>
pipeline.pipe(Project.class).endpoint("foo").name("bar").auth(myAuthMod).buildAndAdd();<br>
<br>
Is fine for me too:<br>
-pipe => indicates you create a pipe object;<br>
-buildAndAdd => you build the object and add it to the pipeline.<br>
<br>
Not sure if the 'buildAndAdd' is a bit too verbose.<br>
<br>
I am fine with the suggestion from Bruno<br>
(pipeline.add(class).build();), but wanted to share the notes on the<br>
pipe().buildAndAdd() as well<br>
<br>
<br>
-M<br>
<br>
<br>
><br>
> On Thu, Nov 1, 2012 at 9:03 AM, Bruno Oliveira <<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>> wrote:<br>
>><br>
>> Good morning everyone! Lay out your costumes from halloween and let's talk<br>
>> about this jira (<a href="https://issues.jboss.org/browse/AEROGEAR-593" target="_blank">https://issues.jboss.org/browse/AEROGEAR-593</a>).<br>
>><br>
>> Passos did a great work creating a builder for Pipes and of course we can<br>
>> improve it more and more, it's all about software. Currently to create a<br>
>> Pipe we must do it:<br>
>><br>
>> Pipeline pipeline = new Pipeline(ROOT_URL);<br>
>> pipeline.pipe().name("tasks").useClass(Task.class).buildAndAdd();<br>
>> pipeline.pipe().name("tags").useClass(Tag.class).buildAndAdd();<br>
>><br>
>> Chatting with Matthias we agreed that would be better 2 alternatives:<br>
>><br>
>> Pipeline pipeline = new Pipeline(ROOT_URL);<br>
>> pipeline.add(Project.class).build();<br>
>><br>
>> Doing just this implicitly means that the name of the pipe will be<br>
>> "Project" and if you need 'extras':<br>
>><br>
>> Pipeline pipeline = new Pipeline(ROOT_URL);<br>
>><br>
>> pipeline.add(Project.class).endpoint("foo").name("bar").auth(myAuthMod).build();<br>
>><br>
>> What do you guys think?<br>
>><br>
>><br>
>> --<br>
>> "The measure of a man is what he does with power" - Plato<br>
>> -<br>
>> @abstractj<br>
>> -<br>
>> Volenti Nihil Difficile<br>
>><br>
>> _______________________________________________<br>
>> aerogear-dev mailing list<br>
>> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
>> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> aerogear-dev mailing list<br>
> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
><br>
<br>
<br>
<br>
--<br>
Matthias Wessendorf<br>
<br>
blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
</div></div></blockquote></div><br>