Hi All I would like to begin discussing the use of Generic Beans from Solder (currently this issue is assigned to Antoine, but I have some bandwidth and offered to help him here). This feature is used to configure a set of related beans that require shared components, while still allowing scopes to be provided. This is useful when trying to make legacy libraries/APIs CDI capable. The following are the API components required for GenericBeans:
- @GenericType(Class<?> clazz) - defines the type of configuration for the generic. This annotation is placed on another annotation, as defined by the application developer or framework author to support how configuration is resolved. This will look for a matching bean of the given type and resolve it based on the annotation that this is assigned to. - @Generic - when using the manager type, defines an expected injection point for a generic bean. - @GenericConfiguration(Class<?> clazz) - defines the relationship between generic objects. - @ApplyScope - indicates that the produced object should inherit the scope of the configuration. The examples in the Solder documentation describe this in depth: http://docs.jboss.org/seam/3/3.1.0.Final/reference/en-US/html/solder-genericbeans.html Thoughts/questions on the feature? john
