Didnt get your answer, there is no link with Object. A produced generic
type modelizes all possible subtypes IMO (otherwise it should be forbidden
cause it doesnt match original java meaning then) + all beans match Object
in the spec
Le 6 juil. 2013 15:17, "Joseph Bergmark" <[email protected]> a écrit :

> For some reason I believe the spec specifically says that Object should not
> be in the list of types, which I believe is why your plain old java example
> isn't valid.
>
> Joe
>
> On Sat, Jul 6, 2013 at 6:57 AM, Arne Limburg
> <[email protected]>wrote:
>
> > Hi Romain,
> >
> >
> > In plain old java the assignment does not work either:
> >
> > public class MyClass<T>
> > {
> >   ArrayList<T> myTList = ...
> >   ArrayList<String> myStringList = myTList;
> > }
> >
> > does not work...
> >
> > And if we have an injection point
> >
> > @Inject String myString;
> >
> > and a Producer
> >
> > @Produces Object myObject;
> >
> > then they don't match.
> >
> > So why should it match with generics?
> >
> > Cheers,
> > Arne
> >
> > Am 06.07.13 12:50 schrieb "Romain Manni-Bucau" unter
> > <[email protected]>:
> >
> > >So i confirm what i said, ArrayList<T> can be for String, Foo....so i
> > >think
> > >classes should follow it, just match what i expect since i could do it
> in
> > >plain old java
> > >Le 6 juil. 2013 10:18, "Arne Limburg" <[email protected]> a
> > >écrit :
> > >
> > >> Forgot to mention that T is an unbound type variable at class level:
> > >>
> > >>
> > >> public class MethodTypeProduces1<T>
> > >>
> > >> and there is no subclass of MethodTypeProduces1
> > >>
> > >>
> > >> Am 06.07.13 10:12 schrieb "Romain Manni-Bucau" unter
> > >> <[email protected]>:
> > >>
> > >> >Wait, not sure google ate a part of the code or not but if a <T>
> then T
> > >> >can
> > >> >be String (like ArrayList itself)
> > >> >Le 6 juil. 2013 09:18, "Arne Limburg" <[email protected]
> >
> > a
> > >> >écrit :
> > >> >
> > >> >> Hi,
> > >> >>
> > >> >> I am currently struggling with the handling of generics in OWB,
> > >>because
> > >> >> CDI 1.1 TCK requires us to be much more clever than we are now in
> > >>this
> > >> >>area.
> > >> >> However I stumbled about a test in our test-suite that seems to be
> > >>wrong
> > >> >> to me, but I would like to have another opinion.
> > >> >> With my local implementation of the generic handling (which is much
> > >> >>better
> > >> >> than the one in trunk) the following tests fails:
> > >> >> MethodProducer1Test.testPersonProducer
> > >> >>
> > >> >> Basically it tests if an ArrayList with an unbound type variable is
> > >> >> injectable into an injection point of type ArrayList<String>:
> > >> >>
> > >> >>     @Produces @Dependent @Named("ProMethodParameterized3")
> > >> >>
> > >> >>     ArrayList<T> methodPT3() {...}
> > >> >>
> > >> >> and
> > >> >>
> > >> >>     @Inject ArrayList<String> pt3;
> > >> >>
> > >> >> Reading 5.2.4 of the CDI 1.1 spec (the fourth bullet point) I would
> > >> >> suggest that this should lead to an error since String is not
> > >>assignable
> > >> >> from Object (which is the upper bound of T).
> > >> >>
> > >> >>
> > >> >> WDYT?
> > >> >>
> > >> >>
> > >> >> Cheers,
> > >> >>
> > >> >> Arne
> > >> >>
> > >>
> > >>
> >
> >
>

Reply via email to