You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Thiago H. de Paula Figueiredo (JIRA)" <ji...@apache.org> on 2014/05/27 14:29:02 UTC
[jira] [Resolved] (TAP5-529) Attach an annotation marker(s) with
@Component to remove ambiguities of injection within a component.
[ https://issues.apache.org/jira/browse/TAP5-529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thiago H. de Paula Figueiredo resolved TAP5-529.
------------------------------------------------
Resolution: Fixed
Fix Version/s: 5.2
> 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
> Labels: bulk-close-candidate
> Fix For: 5.2
>
>
> 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 was sent by Atlassian JIRA
(v6.2#6252)