[cdi-dev] [JBoss JIRA] (CDI-671) SPI element related to Instance are missing info about their qualifier
Martin Kouba (JIRA)
issues at jboss.org
Thu Dec 15 06:38:00 EST 2016
[ https://issues.jboss.org/browse/CDI-671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13339043#comment-13339043 ]
Martin Kouba commented on CDI-671:
----------------------------------
The other approach would be to simulate injection of {{Instance}} (this is what Weld does):
||Injection point||Required type||Required qualifier||{{CDI}} equivalent||
|{{@Inject Instance<Object>}}|Object|@Default|CDI.current()|
|{{@Inject @Any Instance<Object>}}|Object|@Any|CDI.current().select(Any.Literal.INSTANCE)|
|{{@Inject Instance<Foo>}}|Foo|@Default|CDI.current().select(Foo.class)|
|{{@Inject @Any Instance<Foo>}}|Foo|@Any|CDI.current().select(Foo.class,Any.Literal.INSTANCE)|
In this case, we would have to specify that there are no required qualifiers by default and {{@Default}} is added automatically during resolution if no qualifier selected.
> SPI element related to Instance are missing info about their qualifier
> ----------------------------------------------------------------------
>
> Key: CDI-671
> URL: https://issues.jboss.org/browse/CDI-671
> Project: CDI Specification Issues
> Issue Type: Clarification
> Components: Javadoc and API
> Affects Versions: 2.0.Beta1
> Reporter: Antoine Sabot-Durand
> Fix For: 2.0 .Final
>
>
> Following elements are related to {{Instance}} interface:
> * {{CDI}} class implements {{Instance}}
> * {{SeContainer}} extends {{Instance}}
> * {{BeanManager.createInstance()}} returns and {{Instance}} object
> If these {{Instance}} usage are all {{Instance<Object>}} there's no information regarding their qualifier.
> We should state in Javadoc and spec that these Instance behaves like an injected instance with {{@Inject @Any Instance<Object>}} to allow access to all beans instance in the container.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the cdi-dev
mailing list