<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's some of the key issues I noticed:</div><div><br></div><div>- AfterBeanDiscovery#addBean - vs AfterBeanDiscovery.addBean(Bean<?> bean)</div><div>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.</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'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.</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'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.</div><div><br></div><div>John</div></div>