[
https://issues.jboss.org/browse/CDI-70?page=com.atlassian.jira.plugin.sys...
]
Martin Kouba reopened CDI-70:
-----------------------------
The spec states:
"The container must use the operations of Annotated and its subinterfaces to discover
program element types and annotations. The container must not directly call the Java
Reflection API. In particular, the container must: call AnnotatedType.getConstructors(),
AnnotatedType.getMethods() and AnnotatedType.getFields() to determine the members of a
bean class."
However javadoc for *javax.enterprise.inject.spi.AnnotatedType.getConstructors()* states:
"Get the constructors of the type. If an empty set is returned, a default constructor
with no parameters will be assumed."
IMHO this is contradictory.
Clarify that if an extension provides an Annotated* then it is
considered "metadata complete"
---------------------------------------------------------------------------------------------
Key: CDI-70
URL:
https://issues.jboss.org/browse/CDI-70
Project: CDI Specification Issues
Issue Type: Clarification
Components: Portable Extensions
Affects Versions: 1.0
Reporter: Pete Muir
Assignee: Pete Muir
Fix For: 1.1.EDR1
I think the correct behavior is to ignore any members that are missing from the
AnnotatedType. You should not be directly accessing the reflection API at all. If the
parameters for a method or a constructor don't match the underlying class, it should
be considered a definition error.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira