Mad snippet of the day (too much power for a useless idea…)
2010/02/18 2 Comments
Especially written for a servlet container… just guess what it does…
public <E>E toObject(HttpServletRequest request, Class<E> type)
throws InstantiationException, IllegalAccessException {
E inst = type.newInstance();
Method[] mets = inst.getClass().getDeclaredMethods();
for(Method m : mets){
if(m.getName().startsWith("set"))try{
String varName = m.getName().
substring(m.getName().indexOf("set")+3);
varName = Character.toLowerCase(varName.charAt(0))+
varName.substring(1);
String val = request.getParameter(varName);
if(m.getParameterTypes()[0]==Integer.class)
m.invoke(inst, Integer.valueOf(val));
if(m.getParameterTypes()[0]==Boolean.class)
m.invoke(inst, Boolean.valueOf(val));
if(m.getParameterTypes()[0]==String.class)
m.invoke(inst, val);
}catch(Exception e){e.printStackTrace();continue;}
}
return inst;
}