[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

More information about the cdi-dev mailing list