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. - Thanks, Chad
