I think that makes sense too.
On 7 Jan 2013, at 22:43, Mark Struberg wrote:
Hi!
Arne and me have discussed the order of the new system events and came to a point where
the order is not well defined yet.
After ProcessAnnotatedType we need to build up the Beans.
In this process the following events are involved
* ProcessInjectionTarget
* ProcessInjectionPoint
* ProcessBeanAttributes
* ProcessBean
Now the following underlying conditions needs to be met:
* InjectionPoint has a method #getBean()
* ProcessBean does only read information thus it will be the last in the chain.
The following questions are open:
* If ProcessInjectionPoint gets fired before ProcessInjectionTarget then we would fire it
for InjectionPoints which probably later get removed. And it will not get fired for
freshly added InjectionPoints.
* If ProcessInjectionTarget gets fired before ProcessInjectionPoint then this might be
not that worse.
* When will the initial BeanAttributes get created from the AnnotatedType? In the spec it
seems like it should get fired just before the ProcessBean, but that doesn't make
sense in our opinion. It imo should get fired just right at the beginning and the rest of
the processing (e.g. ProcessInjectionTarget) should get this information via the
getBean().
Thus we finally figured that the order which makes the most sense would be:
1.) .. create a Bean<T> with the initial information taken from the AnnotatedType
2.) fire ProcessBeanAttributes<T> and apply the results eventually
3.) fire ProcessInjectionTarget and apply it if changed
4.) fire ProcessInjectionPoint for each InjectionTarget#getInjectionPoints()
5.) fire ProcessBean
We think that would make sense, wdyt?
LieGrue,
arne and strub
_______________________________________________
cdi-dev mailing list
cdi-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev