<div dir="ltr">Hey guys<div><br></div><div>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: <a href="https://github.com/cdi-spec/cdi/pull/287">https://github.com/cdi-spec/cdi/pull/287</a></div><div><br></div><div>To do this, I took some existing OSS CDI extensions and converted parts to use the new APIs instead of the old ones.</div><div><br></div><div>The results were iffy to be honest.  Here&#39;s some of the key issues I noticed:</div><div><br></div><div>- AfterBeanDiscovery#addBean - vs AfterBeanDiscovery.addBean(Bean&lt;?&gt; bean)</div><div>In the latter, it&#39;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&#39;t really get that sense when converting over.  It also wasn&#39;t clear what to do when done.  I suspect I just leave it, but without some kind of closing &quot;build()&quot; or &quot;done()&quot; method, it becomes ambiguous.</div><div><br></div><div>- Annotated*Configurator</div><div>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&#39;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&#39;m not sure what the configurator bought me.</div><div><br></div><div>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.</div><div><br></div><div>For the open source code, I&#39;ll try to get some gists together that show the changes.  Maybe there&#39;s something I&#39;m missing, so wouldn&#39;t mind a second set of eyes on the changes to see.</div><div><br></div><div>John</div></div>