31 lines
1.1 KiB
Java
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 {}
|