> Looking at the JavaDoc from the lastest JSR-330 code [1] unveils the fact that there is no type safety or any other > kind of resolution algorithm specified!
As far as I remember Guice does allow a maximum of one qualifying annotation per bean so I believe the resolution algorithm could be deduced from this restriction. br, Sven 2009/9/4 Mark Struberg <[email protected]> > Hi! > > To be honest: I'm not sure. > > Fact is: this is not an optimal situation and yes this this not the first > time the JSR-299 spec uses a 330 annotation slightly different as they > originally _thought_ about (see @Scope -> pseudo scope). I'm not a fan of > this, but it's hard to argue against it since JSR-330 is so minimalistic > that it simply doesn't define it pinned to the point. > > Looking at the JavaDoc from the lastest JSR-330 code [1] unveils the fact > that there is no type safety or any other kind of resolution algorithm > specified! > > I don't think Bob had this in mind, but the way 299 uses it is at least not > forbidden. > > Maybe it would have been best to stick with @BindingType and define > > @Qualifier > public @interface BindingType{} > > Fact is: since @Named has @Qualifier, it is a 'binding type' as specified > in the spec 2.3 "Qualifiers" section, isn't? > > Pete, sorry to pull you in, but maybe this discussion is also interesting > for you. Wdyt, anything we do/got wrong? > > LieGrue, > strub > > [1] > http://atinject.googlecode.com/svn/trunk/src/javax/inject/Qualifier.java > > > > --- On Fri, 9/4/09, Gurkan Erdogdu <[email protected]> wrote: > > > From: Gurkan Erdogdu <[email protected]> > > Subject: Re: @Named - a naming or qualifying annotation? > > To: [email protected] > > Date: Friday, September 4, 2009, 1:12 PM > > Yeah, you seem right! > > > > In at-inject module source, there is no @Qualifier on class > > Named. > > > > Mark WDYT ? > > > > Thanks; > > > > --Gurkan > > > > 2009/9/4 Sven Linstaedt <[email protected]> > > > > > While further investigating the recent changes in OWB > > due to JSR 330 I > > > stumbled upon the mismatch of @Named in OWB and in JSR > > 330. In 330 it is > > > defined as a qualifying annotation as far as I know > > (based on my knowledge > > > about Guice and > > > http://atinject.googlecode.com/svn/trunk/src/javax/inject/Named.java), > > but > > > OWB use it as a simple annotation. > > > > > > From my point of view this is a conceptual mismatch: > > One spec uses the > > > annotation just for binding specific beans to a > > literal name, the other one > > > uses it for differentiate between multiple beans. Even > > this should be no > > > immediate issue for JSR 299's typesafe resolution > > mechanism, if a single > > > bean is further qualified with specific @Named name, I > > do not feel well, if > > > people are going to use this annotation as a > > qualifying one like > > > @Named("stage_test") on multiple bans. The EL > > namespace gets polluted with > > > unresolvable names and developers become potentially > > confused by the > > > conceptually ambiguously usage of the annotation. > > > > > > Your opinion? > > > > > > > > > br, Sven > > > > > > > > > > > -- > > Gurkan Erdogdu > > http://gurkanerdogdu.blogspot.com > > > > > >
