[cdi-dev] [JBoss JIRA] (CDI-229) introduce @OverridesAttribute for @StereoType

Jozef Hartinger (JIRA) jira-events at lists.jboss.org
Thu Nov 1 06:59:18 EDT 2012


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

Jozef Hartinger commented on CDI-229:
-------------------------------------

Definitely useful. However, note that this does not match the existing SPIs as nicely as it could because CDI currently does not expect stereotypes to have members and thus works with annotation classes instead of annotation instances. For example:

BeanManager:
Set<Annotation> getStereotypeDefinition(Class<? extends Annotation> stereotype)
BeanAttributes:
Set<Class<? extends Annotation>> getStereotypes()

                
> introduce @OverridesAttribute for @StereoType
> ---------------------------------------------
>
>                 Key: CDI-229
>                 URL: https://issues.jboss.org/browse/CDI-229
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Beans
>    Affects Versions: 1.1.EDR
>            Reporter: Mark Struberg
>             Fix For: 1.1 (Proposed)
>
>
> We recently had a thread on the DeltaSpike list about using StereoTypes in real world applications: http://markmail.org/thread/ntqwnsyukjvdwspm
> ------
> Imagine the following Stereotype for my Services (I spare out the standard
> stuff)
> @StereoType @Secured @Transactional @ApplicationScoped 
> public @interface @Service {}
> The problem here is that there is no way to 'propagate' any rolesAllowed from
> @Service to @Secured, etc.
> What I'd like to have is something like ... 
> public @interface @Service {
>     String[] rolesAllowed();     
>     TransactionAttributeType transactionType();
> }
> where the rolesAllowed() would get propagated to the @Secured meta-annotation
> and transactionType() to the @Transactional 
> -----------
> Gerhard Petracek now pointed me to a cool feature which is used in JSR-303 BVAL: @OverridesAttribute
> http://docs.oracle.com/javaee/6/api/javax/validation/OverridesAttribute.html
> We should ping the BVAL EG for the details. There are quite a few little tricks and side effects to consider.
> On the implementation side, we could e.g. pick the @StereoType annotation and automatically propagate those values to the AnnotatedType which get's passed to the Extensions

--
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