view test/java/awt/datatransfer/CustomClassLoaderTransferTest/TransferableList.java @ 14965:7c8bbbfe6acb jdk8u292-b05

8041464: [TEST_BUG] CustomClassLoaderTransferTest does not support OS X Reviewed-by: azvegint, serb
author pchelko
date Fri, 06 Jun 2014 14:58:41 +0400
parents
children
line wrap: on
line source

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