invoking a interface default method from within an InvocationHandler
Jochen Theodorou
blackdrag at gmx.org
Mon Oct 6 16:06:55 UTC 2014
Hi,
I find this a little odd and I wonder how you are supposed to do it
right. Or if that is a bug.
So I have a class implementing InvocationHandler and I used Proxy to
create a an proxied instance of Consumer. This is a functional interface
and I want to use its accept method for my purposes, while still keeping
the old andThen method as it is.
going by the usual signature for the InvocationHandler implementation
main method (public Object invoke(Object proxy, Method method, Object[]
args) throws Throwable)
I can do neither method.invoke on this, since that leads to that method
(overflow then) again, nor can I take the proxy object, since it
obviously has nothing to do with functional interface.
Now... is that really on purpose? Are you indeed forced to split up your
code into a java7+ and pre java7 case to be able to use
MethodHandleProxies#asInterfaceInstance where it is available instead?
Shouldn't Proxy and InvocationHandler then be marked deprecated in
Java8? And how do you use MethodHandleProxies to implement multiple
interfaces?
bye Jochen
--
Jochen "blackdrag" Theodorou - Groovy Project Tech Lead
blog: http://blackdragsview.blogspot.com/
german groovy discussion newsgroup: de.comp.lang.misc
For Groovy programming sources visit http://groovy-lang.org
More information about the mlvm-dev
mailing list