I didn't know of that proxy class. I will check in that area. Thank you
Samy wrote:
Hi everyone,
Now I would like to have a A.listMyMethods() which would return all the
processA, processB, processC and processD (since they are all abstract
except D meaning that an instance of my classes would could not be
something
else than D)
I took a quick look at the java.lang.Class documentation and couldn't
find a way to find a way to determin it's subclasses.
From my tests, when I instanciate a D object and invoke a
myDObject.getClass().getMethods() I have what I want. But what I really
would want is to call myDObject.listMyMethods(). So that the object
itself
would tell me it's methods.
java.lang.reflect.Proxy.newProxyInstance(D.getClass().getClassLoader(),
blah, k);
where k = new InvocationHandler() {
Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
if (method.getName() == "listMyMethods") {
return proxy.getClass().getMethods();
} else {
return method.invoke(proxy, args);
}
}
}
pragmatically override any method. muhahahaaaa!
also note that I haven't actually used this method in a while, so my
understanding of it might not be completely accurate/(work at all).