Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #11850
| From | Steven Simpson <ss@domain.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Dynamic method invocation on Proxy object? |
| Date | 2012-02-08 10:34 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <hmv909-bic.ln1@news.simpsonst.f2s.com> (permalink) |
| References | <jgtb77$hsu$1@news.albasani.net> |
On 08/02/12 08:19, Sebastian wrote:
> However, when delegate is itself a proxy, then delegate.getClass()
> will give me Proxy,
Are you sure? I get $Proxy0 from this:
import java.lang.reflect.*;
public class GetProxyClass {
public static void main(String[] args) throws Exception {
ClassLoader classLoader =
ClassLoader.getSystemClassLoader();
InvocationHandler behaviour = new InvocationHandler() {
public Object invoke(Object proxy, Method method,
Object[] args) {
System.out.println("Called " + method);
return null;
}
};
Object proxy =
Proxy.newProxyInstance(classLoader,
new Class<?>[] { Runnable.class },
behaviour);
Class<?> proxyClass = proxy.getClass();
System.out.println("Proxy class is: " + proxyClass);
Method m = proxyClass.getMethod("run", new Class<?>[0]);
((Runnable) proxy).run();
m.invoke(proxy);
}
}
Output:
Proxy class is: class $Proxy0
Called public abstract void java.lang.Runnable.run()
Called public abstract void java.lang.Runnable.run()
It also demonstrates a method on the implemented interface being looked
up and invoked.
--
ss at comp dot lancs dot ac dot uk
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Dynamic method invocation on Proxy object? Sebastian <sebastian@undisclosed.invalid> - 2012-02-08 09:19 +0100
Re: Dynamic method invocation on Proxy object? Steven Simpson <ss@domain.invalid> - 2012-02-08 10:34 +0000
Re: Dynamic method invocation on Proxy object? Sebastian <sebastian@undisclosed.invalid> - 2012-02-08 15:16 +0100
csiph-web