package org.nutz.mvc.upload.injector;
import java.lang.reflect.Type;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.nutz.castor.Castors;
import org.nutz.mvc.adaptor.injector.NameInjector;
public class MapItemInjector extends NameInjector {
public MapItemInjector(String name, Class<?> type, Type[] paramTypes) {
super(name, null, type, paramTypes);
}
@Override
public Object get(ServletContext sc,
HttpServletRequest req,
HttpServletResponse resp,
Object refer) {
if (null != refer)
if (refer instanceof Map<?, ?>) {
Object value = ((Map<?, ?>) refer).get(name);
return Castors.me().castTo(value, type);
}
return null;
}
}