[weld-dev] Spec clarification needed

Pete Muir pmuir at redhat.com
Mon Apr 19 05:18:24 EDT 2010


Gavin, can you comment please?

On 9 Apr 2010, at 16:00, Gurkan Erdogdu wrote:

> >>>Otherwise InjectionPoint#isDelegate() would always return false
> No, Decorators are also beans and you can get its injection points with getInjectionPoints that one of them is @delegate therefore isDelegate returns true.
> 
> I think that "InjectionPoint injection" in the spec. has never written for that DependentScoped beans are injected into decorator delegates.
> 
> Thanks;
> 
> --Gurkan
> 
> From: Sven Linstaedt <sven.linstaedt at googlemail.com>
> To: Pete Muir <pmuir at redhat.com>
> Cc: Weld-Dev List <weld-dev at lists.jboss.org>
> Sent: Fri, April 9, 2010 12:16:46 PM
> Subject: Re: [weld-dev] Spec clarification needed
> 
> According to the java docs, I would also suppose your expression to be true. Otherwise InjectionPoint#isDelegate() would always return false, making this method dispensable. The interesting point imho is injecting the InjectionPoint in other cases than producer methods. I have not seen examples for this usage in the spec.
> 
> br, Sven
> 
> 
> 2010/4/9 Pete Muir <pmuir at redhat.com>
> Given these beans and decorators (enabled)
> 
> interface Animal {
>        String hello();
> }
> 
> class Cat implements Animal {
>  @Inject private InjectionPoint injectionPoint;
> 
>  public String hello() {
>     return "hello";
>  }
> 
>  public InjectionPoint getInjectionPoint() {
>     return injectionPoint;
>  }
> }
> 
> @Decorator
> class AnimalDecorator implements Animal {
> 
>        @Inject @Delegate
>        private Animal bean;
> 
>        public String hello() {
>                return bean.hello() + " world!";
>        }
> }
> 
> class Cattery {
> 
>  @Inject Cat cat;
> 
>  Cat getCat() {
>     return cat;
>  }
> 
> }
> 
> Should
> 
> cattery.getCat().getInjectionPoint().isDelegate() return true or false?
> 
> I believe it should return true, as Cat is being decorated, and hence injected into the decorator delegate injection point.
> 
> Ref is https://jira.jboss.org/jira/browse/CDITCK-138
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev
> 
> 
> Yahoo! Türkiye açıldı!
> Haber, Ekonomi, Videolar, Oyunlar hepsi Yahoo! Türkiye'de!
> www.yahoo.com.tr_______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev




More information about the weld-dev mailing list