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
            Reporter: Yunhua Sang


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