[cdi-dev] [JBoss JIRA] (CDI-271) Provide a way to inject Event metadata into an observer method

Lincoln Baxter III (JIRA) jira-events at lists.jboss.org
Wed Mar 6 11:19:56 EST 2013


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

Lincoln Baxter III commented on CDI-271:
----------------------------------------

Actually, it's possible that what I suggest could be differentiated as "Payload Information" where what is being provided in this issue is really "Origin information." What you are delivering here with what you previously agreed to is not information about the payload itself, it's information about where the payload originated.
                
> Provide a way to inject Event metadata into an observer method
> --------------------------------------------------------------
>
>                 Key: CDI-271
>                 URL: https://issues.jboss.org/browse/CDI-271
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Events
>            Reporter: Arne Limburg
>            Assignee: Arne Limburg
>             Fix For: 1.1.PFD
>
>
> Currently there is no way for observer methods to access the qualifiers of the fired event (i.e. to access @Nonbinding members).
> Consider the following example:
> {code}
> @Inject @MyQualifier
> Event<MyObject> event;
> public void fireEvent(MyObject object, MyTypeValue type) {
>     event.select(new MyTypeAnnotationLiteral(type)).fire(object);
> }
> {code}
> Currently no observer can receive the value of MyTypeValue. I suggest to introduce an interface AnnotatedEvent that extends Annotated and contains this information. It then could be injected via the InjectionPoint like this:
> {code}
> public void observeEvent(@Observes @MyType MyObject object, InjectionPoint ip) {
>     MyType annotation = ip.getAnnotated().getAnnotation(MyType.class);
>     MyTypeValue value = annotation.value();
>     ...
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the cdi-dev mailing list