beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ken Tam" <kentamina...@gmail.com>
Subject Re: Proposal for class-level interceptor support (BEEHIVE-1076)
Date Tue, 27 Mar 2007 01:01:55 GMT
On 3/8/07, Chad Schoettger <chad.schoettger@gmail.com> wrote:
> I would like to propose a solution for BEEHIVE-1076:
>
>  "interceptors for annotations don't get wired into generated control
> beans if the annotation is at the class level"
>
>
> Just to be clear this is not a bug, it is an enhancement to existing
> functionality.  Since this work introduces new functionality it
> becomes necessary to clearly define the behavior of class-level
> interceptors in Beehive.
>
> I prefer a simple design which is intuitive for Beehive developers, so
> here's what I am proposing:
>
> 1) Use the existing Beehive annotation @InterceptorAnnotation to meta-annotate
>    class-level interceptor annotations.  The only difference between a
>    class-level and method-level interceptor annotation would be the type it
>    annotates.  This would allow a developer to create a single interceptor
>    annotation which could be used at the class or method level.
>
> 2) A class-level interceptor gets applied to each method in the class
>    (including inherited methods).
>
> 3) If a method within an class is annotated with the same interceptor
>    annotation as the class only the method's interceptor is fired.
>
> 4) Interceptor prioritization does not change, method-level and class-level
>    interceptor priorities could still be defined in the same manner by
>    controls-interceptors.config file.
>
>
> Questions/Comments?  Any input is greatly appreciated.

+1, seems straightforward.  Just to clarify #3 -- I'm reading your
proposal as "if a given method is somehow parameterized by the same
interceptor annotation multiple times (via some combination of
annotated inheritance and/or annotation at both type and method
level), then the most specific (most inherited, method level) instance
of the annotation wins".  Sound right?

>
>  - Thanks, Chad
>

Mime
View raw message