[cdi-dev] Getting injection point from Bean#create

Jozef Hartinger jharting at redhat.com
Fri Nov 21 04:19:54 EST 2014


It means "give me an instance of type InjectionPoint and @Default 
qualifier". In default setup this should be served by the built-in 
Bean<InjectionPoint>".

On 11/21/2014 10:12 AM, Romain Manni-Bucau wrote:
> @Jozef: InjectionPoint ip = getBean(InjectionPoint.class); doesn't
> mean anything in the absolute. So why should it be allowed?
>
>
> Romain Manni-Bucau
> @rmannibucau
> http://www.tomitribe.com
> http://rmannibucau.wordpress.com
> https://github.com/rmannibucau
>
>
> 2014-11-21 9:57 GMT+01:00 Jozef Hartinger <jharting at redhat.com>:
>> The workaround is very ugly. Instead of going that path OWB should be fixed
>> to support the simple way.
>>
>>
>> On 11/20/2014 11:22 PM, arjan tijms wrote:
>>> Hi,
>>>
>>> On Thu, Nov 20, 2014 at 11:07 PM, Romain Manni-Bucau
>>> <rmannibucau at gmail.com> wrote:
>>>> Not sure what it means actually. InjectionPoint is highly contextual so
>>>> having an exception (not a npe of course) would make sense to me.
>>>>
>>>> Bean#create is a "you know what you do" from my understanding since
>>>> interceptors/decorators are not supported for instance so it shouldnt
>>>> rely
>>>> of things like that, no?
>>> Sure, no interceptor/decorators, but the injection point -is- there of
>>> course. I can see it being set in OWB as a special property on the
>>> creational context if I walk down the stack trace in a debugger when
>>> my Bean#create method is being called. An injection point is something
>>> that implementations of Bean could always need, for instance to
>>> retrieve the name of the field into which injection is taking place.
>>>
>>> Of course, it being a "you know what you do", it's okay that it's not
>>> as simple as having it injected into the Bean, and that some extra
>>> code is needed to obtain it. As long as there is at least -a- way to
>>> get hold of it.
>>>
>>> The method I posted in the openings post does in fact work, but it
>>> feels slightly hacky. If that's an acceptable way to get the injection
>>> point, then so be it. But just wondering if it's not something that
>>> works by chance and may break later.
>>>
>>> Kind regards,
>>> Arjan
>>> _______________________________________________
>>> 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