[
https://issues.jboss.org/browse/CDI-70?page=com.atlassian.jira.plugin.sys...
]
Arne Limburg commented on CDI-70:
---------------------------------
The spec already says in 11.4. that the container must not use the reflection api, but it
is not emphasized and should be explicitly sayed in 11.5.5. If you change the sentence
"The container must use the operations of Annotated and its subinterfaces to discover
program element types and annotations, instead of directly calling the Java Reflection
API" (in 11.4.) to "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." it would emphasize this behavior. An
additional sentence about missing fields, methods or parameters would clarify it even
more.
In 11.5.5. you may change "The container must use the final value
of this property, after all observers have been called, to discover the types and read the
annotations of the program elements." to "The container must use the final value
of this property, after all observers have been called, as the only source to discover the
types and program elements and read their annotations."
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
Fix For: 1.1 (Proposed)
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.
For more information on JIRA, see:
http://www.atlassian.com/software/jira