[
https://issues.jboss.org/browse/CDI-169?page=com.atlassian.jira.plugin.sy...
]
Pete Muir edited comment on CDI-169 at 11/3/11 10:53 AM:
---------------------------------------------------------
I had a long chat with Jozef on this. The issue is that the JDK/JVM offers no way to
detect the concrete values of the type variables. For example:
{code}
class Foo<T> {}
class Bar {
@Inject Event<Foo<Baz>> evt;
public void doIt() {
evt.fire(new Foo<Baz>());
}
{code}
It's not possible to detect that Baz is the generic type in this situation, the JVM
erases this info.
was (Author: petemuir):
I had a long chat with Jozef on this. The issue is that the JDK/JVM offers no way to
detect the concrete values of the type variables. For example:
{code}
class Foo<T> {}
class Bar {
@Inject Event<Foo<Baz>> evt;
public void doIt() {
evt.fire(new Foo<Baz>());
}
It's not possible to detect that Baz is the generic type in this situation, the JVM
erases this info.
Remove the 'No type variable in event objects' restriction
----------------------------------------------------------
Key: CDI-169
URL:
https://issues.jboss.org/browse/CDI-169
Project: CDI Specification Issues
Issue Type: Feature Request
Affects Versions: 1.0
Reporter: Stuart Douglas
Fix For: 1.1 (Proposed)
CDI 10.1 states:
An event object is an instance of a concrete Java class with no type variables. ... An
event type may not contain a type variable.
Which seems silly considering the container fires events with a type variable at startup.
I can't think of any reason why this should be prohibited.
--
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