[cdi-dev] [JBoss JIRA] (CDI-584) Clarification needed on Set mutability returned by SPI

Antoine Sabot-Durand (JIRA) issues at jboss.org
Fri Feb 19 05:58:00 EST 2016

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

Antoine Sabot-Durand commented on CDI-584:

[~mkouba] agree with you, but, that means we should check if some Lifecycle events (like ProcessBean) could have new method to change the underlying meta-data (i.e {{ProcessBean#addInjectionPoint()}}).
[~rmannibucau] also agree. The idea is not to force OWB to change its behavior but to state that it's not portable. And we should provide standard way to perform these meta data mutation at the lifecycle event level (see my remark above).

> Clarification needed on Set mutability returned by SPI
> ------------------------------------------------------
>                 Key: CDI-584
>                 URL: https://issues.jboss.org/browse/CDI-584
>             Project: CDI Specification Issues
>          Issue Type: Clarification
>          Components: Portable Extensions
>            Reporter: Antoine Sabot-Durand
> {{ProcessBean}} lifecycle event could be the occasion to add new Injection point to an existing bean, but when you call {{ProcessBean#getBean()#getInjectionPoints()}} the returned set is mutable in OWB and immutable in Weld.
> As the spec doesn't precise if the Set should be mutable or not, each impl made its own choice.
> The result is a lack of consistency between both impl and an interesting feature harder to do with Weld (work with AnnotatedType or create a custom bean to add injection point)
> More generally we should clarify mutability of each Set returned in the SPI. And check if it wouldn't be better to add method to life cycle event to provide a "temporary" mutable set (i.e. {{ProcessBean#getInjectionPoints()}}

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list