Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Monitor proxyMonitor = (Monitor) Proxy.newProxyInstance(MonitorProxyTest.class.getClassLoader()
- , new Class[]{Monitor.class}
- , new LogMonitor(new LMonitor()));
- String result = proxyMonitor.display();
- assertThat("start display", is(result));
- // public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)
- public interface Monitor {
- public String display();
- }
- public class LMonitor implements Monitor {
- @Override
- public String display() {
- return "display";
- }
- }
- public class LogMonitor implements InvocationHandler {
- private final Monitor monitor;
- public LogMonitor(Monitor monitor) {
- this.monitor = monitor;
- }
- @Override
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- Object ret = method.invoke(monitor, args);
- return "start " + ret;
- }
- }
Add Comment
Please, Sign In to add comment