[xwiki-devs] [VOTE] Use @Named (and @Qualifier annotations later on) for specifying component role

Vincent Massol vincent at massol.net
Wed Mar 30 12:56:30 UTC 2011


On Mar 30, 2011, at 2:49 PM, Thomas Mortagne wrote:

> On Wed, Mar 30, 2011 at 14:41, Vincent Massol <vincent at massol.net> wrote:
>> 
>> On Mar 30, 2011, at 2:37 PM, Thomas Mortagne wrote:
>> 
>>> On Wed, Mar 30, 2011 at 14:28, Vincent Massol <vincent at massol.net> wrote:
>>>> Hi devs,
>>>> 
>>>> I'd like to propose to deprecate the "value" and "hints" fields of @Component and instead use the @Named annotation (and @Qualifier annotations later on).
>>>> 
>>>> The rationale is to align with JSR330's @Named annotation at injection points and also to start going in the direction of CDI (JSR299) since CDI uses @Named for beans too.
>>>> 
>>>> Example before:
>>>> 
>>>> @Component("hint")
>>>> public class MyComponent...
>>>> 
>>>> After:
>>>> 
>>>> @Component
>>>> @Named("hint")
>>>> public class MyComponent
>>> 
>>> Is @Component really required in that case ?
>> 
>> Yes we still need to discover component declarations.
> 
> I mean if it's just for discovering we could change the test on
> @Component to check @Component || @Named

We could but I don't like it too much since it's uneven. @Named doesn't semantically means it's a component.

What I'd prefer is find out how CDI impl do it and do the same (since they don't need any annotation for Roles and Components).

Thanks
-Vincent

> 
>> 
>>> Do we have to explicitly
>>> use @Named("default") for default hint ?
>> 
>> No.
>> 
>> CDI says that @Default annotations are not required.
>> 
>>>> 
>>>> Here's my +1
>>>> 
>>>> Thanks
>>>> -Vincent
>>>> 
>>> 
>>> +1 for anything going in the direction of using JSR330
>>> 
>>> --
>>> Thomas Mortagne
>> 
>> Thanks
>> -Vincent




More information about the devs mailing list