[cdi-dev] Easy way to get 'original' type from alternative producers

Matej Novotny manovotn at redhat.com
Tue Feb 27 08:23:45 EST 2018


FYI I have taken the liberty to create CDI issue so that this is not forgotten (for I believe that it could be valuable addition).
Feel free to comment - https://issues.jboss.org/browse/CDI-723

Matej

----- Original Message -----
> From: "Martin Kouba" <mkouba at redhat.com>
> To: "arjan tijms" <arjan.tijms at gmail.com>
> Cc: cdi-dev at lists.jboss.org
> Sent: Friday, February 16, 2018 11:28:10 AM
> Subject: Re: [cdi-dev] Easy way to get 'original' type from alternative producers
> 
> Dne 15.2.2018 v 18:15 arjan tijms napsal(a):
> > Hi,
> > 
> > On Thu, Feb 15, 2018 at 10:57 AM, Martin Kouba <mkouba at redhat.com
> > <mailto:mkouba at redhat.com>> wrote:
> > 
> > 
> >     I think it could be a nice feature. Pls file a JIRA issue.
> > 
> > 
> > Allright, I'll do that. Thx!
> > 
> > 
> > 
> >         In order to get that bean, a bunch of quite verbose code is
> >         needed. I.e I came up with:
> > 
> >         HttpAuthenticationMechanism mechanism =
> >               createRef(
> >                   beanManager.resolve(
> > 
> > 
> >     This wouldn't work because BeanManager.resolve() attempts to resolve
> >     the ambiguities thus eliminate all non-alternative beans.
> > 
> > 
> > It actually does seem to work, and I've been using it for a while now.
> 
> You're right - you're actually filtering the alternative bean
> (ApplicationInit producer) and so there is only one bean left.
> 
> > 
> > 
> > 
> >     This would not work - you would need to distinguish the original
> >     injection point.
> > 
> >                   return ...
> >               }
> >         }
> > 
> >         Or reuse the @Delegate (perhaps with the @Alternative annotation)
> > 
> > 
> >     -1 This might be confusing.
> > 
> > 
> > Agreed with both, it was just a bit of brain storming. Not sure what
> > would be a better name though. @Original? @NonAlternative?
> > 
> > Kind regards,
> > Arjan Tijms
> > 
> > 
> 
> --
> Martin Kouba
> Senior Software Engineer
> Red Hat, Czech Republic
> _______________________________________________
> 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.



More information about the cdi-dev mailing list