The value attribute of the annotation is used to determine the service to
contribute into. The type of the configuration does not provide enough
information for it. See an example below:

    @Contribute(Runnable.class)
    public static void bar(MappedConfiguration<String,String> configuration)
    {

    }

    @Contribute(SomeAnotherService.class)
    public static void foo(MappedConfiguration<String,String> configuration)
    {

    }

On Tue, Jan 13, 2009 at 9:53 PM, Fernando Padilla <[email protected]> wrote:

> but what if I want to have two different services that are configured using
> the same typed configuration??
>
> the name and the type of the configuration are both important.
>
>
> Igor Drobiazko (JIRA) wrote:
>
>>     [
>> https://issues.apache.org/jira/browse/TAP5-69?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>>
>> Igor Drobiazko reassigned TAP5-69:
>> ----------------------------------
>>
>>    Assignee: Igor Drobiazko
>>
>>  Allow service configurators to be arbitrary named and determine sevice by
>>> the configuration parameter
>>>
>>> -----------------------------------------------------------------------------------------------------
>>>
>>>                Key: TAP5-69
>>>                URL: https://issues.apache.org/jira/browse/TAP5-69
>>>            Project: Tapestry 5
>>>         Issue Type: Improvement
>>>   Affects Versions: 5.0.15
>>>           Reporter: Kalin Krustev
>>>           Assignee: Igor Drobiazko
>>>
>>> Tapestry used to require this naming convention for configuring services:
>>> public static Foo buildFoo(...) {...}
>>> public static void contrubuteFoo(...) {...}
>>> Then it allowed the first convention to be simplified as:
>>> public static Foo build(...) {...}
>>> It would be nice for the "contribute..." methods to allow also simpler
>>> naming and use the type of the "configuration" parameter to determine the
>>> configured service, which will also have the same type of parameter.
>>> For example:
>>> in Tapestry 5.0.5 TapestryModule.java:
>>>    public ServletApplicationInitializer build(...,
>>>  List<ServletApplicationInitializerFilter> configuration, ... )
>>> in my AppModule.java Tapestry 5.0.5 requires this naming:
>>> public void
>>> contributeServletApplicationInitializer(OrderedConfiguration<ServletApplicationInitializerFilter>
>>> configuration)
>>> Perhaps it could be simplified as:
>>> public void
>>> contribute(OrderedConfiguration<ServletApplicationInitializerFilter>
>>> configuration)
>>> If it will not be simplified, it would be nice to make the documentation
>>> about Tapestry IoC Configurations more clear that
>>> the naming of the contribute methods is important, not the type of
>>> configuration parameter.
>>>
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Best regards,

Igor Drobiazko

Reply via email to