| 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 {} |