| |
e111. Creating a Proxy Object
public interface MyInterface {
void method();
}
public class MyInterfaceImpl implements MyInterface {
public void method() {
}
}
public class ProxyClass implements InvocationHandler {
Object obj;
public ProxyClass(Object o) {
obj = o;
}
public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
Object result = null;
try {
// Do something before the method is called ...
result = m.invoke(obj, args);
} catch (InvocationTargetException e) {
} catch (Exception eBj) {
} finally {
// Do something after the method is called ...
}
return result;
}
}
// This fragment creates a proxy for a MyInterface object.
MyInterface myintf = (MyInterface)Proxy.newProxyInstance(
MyInterface.class.getClassLoader(),
new Class[]{MyInterface.class},
new ProxyClass(new MyInterfaceImpl()));
// Invoke the method
myintf.method();
e109.
Getting the Name of a Member Object
e110.
Overriding Default Access
© 2002 Addison-Wesley.
| | |