[cdi-dev] [JBoss JIRA] (CDI-232) Relax requirements for built-in Instance

Jozef Hartinger (JIRA) issues at jboss.org
Tue Jan 6 10:02:30 EST 2015

    [ https://issues.jboss.org/browse/CDI-232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030255#comment-13030255 ] 

Jozef Hartinger commented on CDI-232:

{quote}Do you mean that the current behaviour allow me to put a non valid bean type (inject Instance<Foo> where no beans exist with Foo type) ?{quote}
Yes. We should not really change the behavior. Even if we were allowed to do so, this is still a valid usecase. You can have a code such as:

@Inject Instance<Foo> instance

if (!instance.isUnsatisfied()) {
    // use foo
} else {
    // use something other than foo

> Relax requirements for built-in Instance
> ----------------------------------------
>                 Key: CDI-232
>                 URL: https://issues.jboss.org/browse/CDI-232
>             Project: CDI Specification Issues
>          Issue Type: Clarification
>    Affects Versions: 1.1.EDR
>            Reporter: Martin Kouba
>             Fix For: 2.0 (discussion)
> 5.6.2. The built-in Instance
> {quote}
> The container must provide a built-in bean with:
> * Instance<X> and Provider<X> for every legal bean type X in its set of bean types,
> * every qualifier type in its set of qualifier types,
> {quote}
> This type/qualifier requirements seem to be too strict. Maybe we should omit these and instead force implementation to satisfy every injection point for every legal bean type and corresponding qualifiers found in application... or something like that. I'm not sure about the wording.
> By the way Weld (2.0.0.Alpha2) does not fulfil these requirements at the moment.

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list