[weld-issues] [JBoss JIRA] Created: (WELDX-135) Support producers and observers on default beans

Pete Muir (JIRA) jira-events at lists.jboss.org
Tue Sep 7 06:51:52 EDT 2010


Support producers and observers on default beans
------------------------------------------------

                 Key: WELDX-135
                 URL: https://jira.jboss.org/browse/WELDX-135
             Project: Weld Extensions
          Issue Type: Feature Request
    Affects Versions: 1.0.0.Alpha2
            Reporter: Pete Muir
             Fix For: 1.0.0.Beta1


Changing the current implementation so it looks like:

1) Observe ProcessAnnotatedType and if the bean class is annotated @DefaultBean, replace qualifiers for the class, producers and observers with a synthetic qualifier and record that synthetic qualifier (e.g. Map<Class<?>, Annotation>) - we  need to do this for the bean class, and for the type of each producer

2) Observe ProcessBean, and if we get a bean with the synthetic qualifier, record it as belonging to the qualifier (e.g. Multimap<Annotation, Bean<?>>)

3) In AfterBeanDiscovery, for those default beans that are left, reset their qualifiers (wrap them as forwarding beans) and add them back in. The default bean type will become defaulted to the declared return type or the managed bean's declared type.

This should lift all the limitations on default beans (e.g. no producers, no interceptors).

Each producer will be totally independent of the declaring bean. So you could override the declaring bean, and not the producers, and still get the producers from the default bean (though this would be an unusual use case). The more common use case is that you wouldn't override the main bean, but would override the producer methods on it.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list