cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-5439) Introduce annotations for marking CXF interceptors and features to enable the auto-discovery
Date Tue, 14 Jan 2014 13:01:51 GMT

    [ https://issues.apache.org/jira/browse/CXF-5439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13870694#comment-13870694
] 

Sergey Beryozkin commented on CXF-5439:
---------------------------------------

Hi Guys, I was a bit childish with one of my earlier comments.
The following code sits in my local snapshot for few weeks now, I'll paste it here:

{code:java}
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Provider {
    enum Type { InInterceptor, OutInterceptor, InFaultInterceptor, OutFaultInterceptor }
    enum Scope { Server, Client, All }
    
    Type type();
    Scope scope() default Scope.All; 
}
{code}

I'm particularly keen of using Scope property - I can see users of trying various approaches
to get the providers shared among many endpoints but such that they are not picked by either
client or servers, Scope will let them all listed within a shared bus; the endpoint/client
creation code will need  to be updated a bit to filter out the providers which are not intended
for either the server or the client.

I'm not very keen on Type property, having individual annotations could've been cleaner but
I guess it is a compromise too, the above offers a single annotation only which can be optionally
used for the reasons outlined earlier

> Introduce annotations for marking CXF interceptors and features to enable the auto-discovery
> --------------------------------------------------------------------------------------------
>
>                 Key: CXF-5439
>                 URL: https://issues.apache.org/jira/browse/CXF-5439
>             Project: CXF
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 3.0.0-milestone2
>
>




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message