<div dir="ltr">From the beginning I advocated to have AnnotatedType treated as special case since it can be used from outside a portable extension (that&#39;s the reason why ATC and not other configurators, Matej).<div><br></div><div>These are not corner cases since I encountered them on 3rd party framework integration.</div><div><br></div><div>This said, I understand it&#39;s rather late to open this topic and with such cold and negative reception I move it to 2.1.</div><div><br></div><div>Antoine</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 16, 2016 at 12:59 PM Matej Novotny &lt;<a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Here are my 0.02$<br class="gmail_msg">
<br class="gmail_msg">
As soon as you extract ATC outside and make it available at any time, a question pops up - Why ATC only? Why not all configurators usable at all times?<br class="gmail_msg">
The above is ofc nonsense and had been discussed before. So, we cannot add all, and therefore doing so for some will make usage inconsistent and confusing.<br class="gmail_msg">
<br class="gmail_msg">
If you really feel like covering the cases you described[1] and making ATC available there, I would go for 1). We don&#39;t yet know what will users do with current API; let us not overextend it.<br class="gmail_msg">
<br class="gmail_msg">
&gt; Well, I thought the EG already agreed that the purpose of the<br class="gmail_msg">
&gt; configurator API is not to cover all possible use cases, but the most<br class="gmail_msg">
&gt; common ones.<br class="gmail_msg">
<br class="gmail_msg">
Also, +10 on ^<br class="gmail_msg">
<br class="gmail_msg">
Regards<br class="gmail_msg">
Matej<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
----- Original Message -----<br class="gmail_msg">
&gt; From: &quot;Martin Kouba&quot; &lt;<a href="mailto:mkouba@redhat.com" class="gmail_msg" target="_blank">mkouba@redhat.com</a>&gt;<br class="gmail_msg">
&gt; To: &quot;Antoine Sabot-Durand&quot; &lt;<a href="mailto:antoine@sabot-durand.net" class="gmail_msg" target="_blank">antoine@sabot-durand.net</a>&gt;, &quot;cdi-dev&quot; &lt;<a href="mailto:cdi-dev@lists.jboss.org" class="gmail_msg" target="_blank">cdi-dev@lists.jboss.org</a>&gt;<br class="gmail_msg">
&gt; Sent: Wednesday, November 16, 2016 12:34:03 PM<br class="gmail_msg">
&gt; Subject: Re: [cdi-dev] AnnotatedTypeConfigurator limitation<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; Well, I thought the EG already agreed that the purpose of the<br class="gmail_msg">
&gt; configurator API is not to cover all possible use cases, but the most<br class="gmail_msg">
&gt; common ones. And the list of use cases below seems more like a list of<br class="gmail_msg">
&gt; corner cases.<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; Anyway, if the EG decides to support this, I think we could either go<br class="gmail_msg">
&gt; with 1) or 3) *.<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; *<br class="gmail_msg">
&gt; BeanManager.getAnnotatedTypeBuilder() that returns a new builder<br class="gmail_msg">
&gt; wrapping a configurator instance.<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; Martin<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; Dne 16.11.2016 v 11:30 Antoine Sabot-Durand napsal(a):<br class="gmail_msg">
&gt; &gt; Hi Guys,<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt; Following CDI-642 and 643 I started to explore place where annotatedType<br class="gmail_msg">
&gt; &gt; can be used and where we don&#39;t provide access to<br class="gmail_msg">
&gt; &gt; AnnotatedTypeConfigurator [1], I really think we should solve this use<br class="gmail_msg">
&gt; &gt; case to avoid advanced users frustration discovering a new feature they<br class="gmail_msg">
&gt; &gt; can use everywhere (that was my case when realised that I could use it<br class="gmail_msg">
&gt; &gt; in BBD for Qualifier or interceptorBinding addition).<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt; Possible solutions:<br class="gmail_msg">
&gt; &gt; 1) Add a hook to each of these place to obtain an AnnotatedTypeConfigurator<br class="gmail_msg">
&gt; &gt; 2) Add BM.createAnnotatypeConfigurator(Class) and<br class="gmail_msg">
&gt; &gt; BM.createAnnotatedType(ATC)<br class="gmail_msg">
&gt; &gt; 3) Add a Builder class that would provide a configure method<br class="gmail_msg">
&gt; &gt; 4) Transform AnnotatedTypeConfigurator into a Builder and simplify SPI<br class="gmail_msg">
&gt; &gt; using AnnotatedTypeConfigurator.<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt; Antoine<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt;  [1] Non exhaustive list :<br class="gmail_msg">
&gt; &gt; - BeforeTypeDiscovery for addQualifier and addInterceptorBinding<br class="gmail_msg">
&gt; &gt; - UnManaged class<br class="gmail_msg">
&gt; &gt; - BeanManager createInjectionTartet and getInjectionTargetFactory or in<br class="gmail_msg">
&gt; &gt; InjectionTarget<br class="gmail_msg">
&gt; &gt; - BeanManager getProducerFactory where a configured AnnotatedField or<br class="gmail_msg">
&gt; &gt; AnnotatedMethod could be useful<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt; _______________________________________________<br class="gmail_msg">
&gt; &gt; cdi-dev mailing list<br class="gmail_msg">
&gt; &gt; <a href="mailto:cdi-dev@lists.jboss.org" class="gmail_msg" target="_blank">cdi-dev@lists.jboss.org</a><br class="gmail_msg">
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt; &gt; Note that for all code provided on this list, the provider licenses the<br class="gmail_msg">
&gt; &gt; code under the Apache License, Version 2<br class="gmail_msg">
&gt; &gt; (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" class="gmail_msg" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas<br class="gmail_msg">
&gt; &gt; provided on this list, the provider waives all patent and other<br class="gmail_msg">
&gt; &gt; intellectual property rights inherent in such information.<br class="gmail_msg">
&gt; &gt;<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; --<br class="gmail_msg">
&gt; Martin Kouba<br class="gmail_msg">
&gt; Software Engineer<br class="gmail_msg">
&gt; Red Hat, Czech Republic<br class="gmail_msg">
&gt; _______________________________________________<br class="gmail_msg">
&gt; cdi-dev mailing list<br class="gmail_msg">
&gt; <a href="mailto:cdi-dev@lists.jboss.org" class="gmail_msg" target="_blank">cdi-dev@lists.jboss.org</a><br class="gmail_msg">
&gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; Note that for all code provided on this list, the provider licenses the code<br class="gmail_msg">
&gt; under the Apache License, Version 2<br class="gmail_msg">
&gt; (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" class="gmail_msg" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas<br class="gmail_msg">
&gt; provided on this list, the provider waives all patent and other intellectual<br class="gmail_msg">
&gt; property rights inherent in such information.<br class="gmail_msg">
&gt;<br class="gmail_msg">
</blockquote></div>