[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