]
Antoine Sabot-Durand reassigned CDI-502:
----------------------------------------
Assignee: Antoine Sabot-Durand
Clarify "contains" meaning in "Legal bean types"
specification.
---------------------------------------------------------------
Key: CDI-502
URL:
https://issues.jboss.org/browse/CDI-502
Project: CDI Specification Issues
Issue Type: Clarification
Components: Beans, Inheritance and Specialization
Reporter: Tomasz Krakowiak
Assignee: Antoine Sabot-Durand
Fix For: 2.0 (discussion)
CDI 1.1, section 2.2.1. Legal bean types says:
{quote}
A parameterized type that contains a wildcard type parameter is not a legal bean type.
{quote}
Does it means direct containment or deep/recursive containment?
I understand this is clearly illegal:
{code}
@Produces
List<?> produceList(){
//...
}
{code}
But, are those two bean definitions legal:
{code}
@Produces
List<Optional<?>> produceList(){
//...
}
{code}
{code}
// Bean types: MyList, List<Optional<?>>, Object
// or
// Bean types: MyList, Object
@Dependent
MyList extends List<Optional<?>> {
//...
}
{code}