jdk-24/test/jdk/java/awt/datatransfer/CustomClassLoaderTransferTest/TransferableList.java
2017-09-12 19:03:39 +02:00

31 lines
1.1 KiB
Java

import java.io.Serializable;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
public class TransferableList extends ArrayList {
private static class NullInvocationHandler implements InvocationHandler, Serializable {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
throw new Error("UNIMPLEMENTED");
}
}
public TransferableList() {
try {
InvocationHandler handler = new NullInvocationHandler();
Class<?> proxyClass = Proxy.getProxyClass(
ListInterface.class.getClassLoader(),
new Class[] { ListInterface.class, AnotherInterface.class });
AnotherInterface obj = (AnotherInterface) proxyClass.
getConstructor(new Class[]{InvocationHandler.class}).
newInstance(handler);
} catch (Exception e) {
e.printStackTrace();
}
}
}
interface ListInterface extends Serializable {}