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

Mark Struberg (JIRA) jira-events at lists.jboss.org
Sun May 6 08:14:18 EDT 2012


     [ https://issues.jboss.org/browse/CDI-229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Struberg updated CDI-229:
------------------------------

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


  was:
We recently had a thread on the DeltaSpike list about using StereoTypes in real world applications: http://markmail.org/thread/uqozhsix2znwiebn

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



    
> 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.EDR1
>            Reporter: Mark Struberg
>
> 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: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the cdi-dev mailing list