package org.jboss.resteasy.test.resource.basic.resource;

import javax.ws.rs.Path;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.List;

@Path("generic")
public class ParameterSubResGenericSub {
   @SuppressWarnings(value = "unchecked")
   @Path("sub")
   public ParameterSubResDoubleInterface doit() {
      InvocationHandler handler = new InvocationHandler() {
         @Override
         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
            List<Double> list = (List<Double>) args[0];
            return list.get(0).toString();
         }
      };
      Class[] intfs = {ParameterSubResDoubleInterface.class};
      return (ParameterSubResDoubleInterface) Proxy.newProxyInstance(ParameterSubResGenericSub.class.getClassLoader(), intfs, handler);
   }
}
