[cdi-dev] New builders API

Martin Kouba mkouba at redhat.com
Thu Apr 28 04:43:05 EDT 2016


Hi all,

we've just released Weld 3.0.0.Alpha16. So anyone can start playing with 
the API, discover possibilities and find potential issues:

http://weld.cdi-spec.org/news/2016/04/28/weld-300Alpha16/

Any feedback is appreciated!

Martin

Dne 25.4.2016 v 09:30 Martin Kouba napsal(a):
> Hi all,
>
> me and Matej, we've already tried to explain some points in cdi/pull/287
> discussion. Anyway, we're going to release Weld 3.0.0.Alpha16 (base on
> 2.0.Alpha4) later this week so that everyone can start playing with the
> new API. And we'd like to prepare some simple examples to help people
> get started as well.
>
> Martin
>
>
> Dne 23.4.2016 v 12:56 John D. Ament napsal(a):
>> Hey guys
>>
>> Based on the last f2f I was in, I took an action item to look at how
>> applications can leverage the new builder methods/classes from this PR:
>> https://github.com/cdi-spec/cdi/pull/287
>>
>> To do this, I took some existing OSS CDI extensions and converted parts
>> to use the new APIs instead of the old ones.
>>
>> The results were iffy to be honest.  Here's some of the key issues I
>> noticed:
>>
>> - AfterBeanDiscovery#addBean - vs AfterBeanDiscovery.addBean(Bean<?> bean)
>> In the latter, it's clearer to a developer which attributes are required
>> vs optional.  Builders typically use sensible defaults.  Maybe that was
>> the intention here, but I couldn't really get that sense when converting
>> over.  It also wasn't clear what to do when done.  I suspect I just
>> leave it, but without some kind of closing "build()" or "done()" method,
>> it becomes ambiguous.
>>
>> - Annotated*Configurator
>> TBH, I have no idea what I was configuring in this one at the first
>> pass.  I started with a method.  I wanted to replace the method's
>> annotations.  It seemed like I could set that up using the configurator,
>> but I ended up having to do setAnnotated at the end anyways, so I'm not
>> sure what the configurator bought me.
>>
>> The one nice thing I saw was the simpler to use lambda functions.  Being
>> able to stream through things like annotated method made the code much
>> cleaner.
>>
>> For the open source code, I'll try to get some gists together that show
>> the changes.  Maybe there's something I'm missing, so wouldn't mind a
>> second set of eyes on the changes to see.
>>
>> John
>>
>>
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>
>> Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.
>>
>

-- 
Martin Kouba
Software Engineer
Red Hat, Czech Republic


More information about the cdi-dev mailing list