[cdi-dev] [JBoss JIRA] (CDI-110) Provide support for binding an invocation handler to an interface or abstract class
Romain Manni-Bucau (JIRA)
jira-events at lists.jboss.org
Wed Sep 12 12:33:32 EDT 2012
[ https://issues.jboss.org/browse/CDI-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717983#comment-12717983 ]
Romain Manni-Bucau commented on CDI-110:
----------------------------------------
In OpenEJB and TomEE we have something pretty close for EJBs (since in CDI world it is done with extensions) and we called the annotation @Proxy(MyInvocationhandler.class)
IMO the annotation name shouldnt be linked to the interface to implement
> Provide support for binding an invocation handler to an interface or abstract class
> -----------------------------------------------------------------------------------
>
> Key: CDI-110
> URL: https://issues.jboss.org/browse/CDI-110
> Project: CDI Specification Issues
> Issue Type: Feature Request
> Components: Inheritance and Specialization
> Affects Versions: 1.0
> Reporter: George Gastaldi
> Labels: cdi
> Fix For: TBD
>
>
> The purpose of this feature is to allow interfaces and abstract classes to be automatically implemented by an invocation handler to which all abstract method invocations are delegated. The invocation handler would get "bound" to the type using the same strategy as is used for interceptor binding.
> Binding type:
> {code:java}
> @Target({ METHOD, TYPE })
> @Retention(RetentionPolicy.RUNTIME)
> @ServiceHandlerBindingType
> public @interface EchoService {}
> {code}
> Invocation handler:
> {code:java}
> @ServiceHandler
> @EchoService
> public class EchoServiceHandler {
> @AroundInvoke
> public Object invoke(InvocationContext ctx) {
> return ctx.getMethod().getName().toString();
> }
> }
> {code}
> Usage:
> {code:java}
> @EchoService
> public interface HelloWorld {
> String helloWorld();
> }
> {code}
--
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