[ 
https://issues.apache.org/jira/browse/TAP5-529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yunhua Sang updated TAP5-529:
-----------------------------

        Fix Version/s:     (was: 5.1.0.0)
    Affects Version/s: 5.1.0.0

> Attach an annotation marker(s) with @Component to remove ambiguities of 
> injection within a component.
> -----------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-529
>                 URL: https://issues.apache.org/jira/browse/TAP5-529
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.1.0.0, 5.0.18
>            Reporter: Yunhua Sang
>            Priority: Minor
>
> Sometimes a component doesn't know which instance of a common interface is 
> going to be used at design time; the appropriate instance of a common 
> interface will be injected at runtime. For example, a JDBCTable component is 
> using a DataSource:
> public class JDBCTable {
>     @Inject
>     private DataSource dataSource;
>     @Parameter(required = true, defaultPrefix = "literal")
>     private String table;
>     ....
> }
> When there are multiple DataSource existing, it seems hard to inject a 
> DataSource I wanted into this component, a possible way is to make dataSource 
> a parameter. 
> It would be nice that Tapestry 5 can remove this kind of ambiguities of 
> injection by attaching an annotation marker(s) with @Component, as
> @Oracle
> @Component
> private JDBCTable jdbcTable;
> The @Oracle should has higher priority than the one(s) already defined in the 
> component.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to