Javaのリフレクション使ってリクエスト取得を楽する

とりあえずこんな感じで取れるのかな?
・・・配列で来た時どーしよ...

public class ReflectUtil{
	public Serializable req2Bean(HttpServletRequest req, Serializable bean
			) throws IllegalArgumentException, IllegalAccessException, 
			InvocationTargetException{

		if(null==req||null==bean) return null;
		final int INDEX=3;
		Pattern pattern=Pattern.compile("^set.*");  //セッター名決め打ち
		Matcher matcher=null;
		String setter=null;
		String key=null;
		Class cls=bean.getClass();

                Method[] methods=cls.getMethods();
                for(Method method : methods){
        	setter=method.getName();
        	matcher= pattern.matcher(setter);

        	if(!matcher.matches()) continue;

        	Class[] params=method.getParameterTypes();
                if(1!=params.length) continue;    //手抜き、引数が1個のメソッド以外はスキップ
        	Class param=params[0];

        	key=StringUtils.underscore(setter.substring(INDEX));    //手抜き

        	//手抜き
        	if(String.class==param){
                	System.out.println("(String)"+setter);
                	if(null!=req.getAttribute(key))
                		method.invoke(bean,(String)req.getAttribute(key));
                	}
                	if(Integer.class==param){ /* Integer用の処理 */  }
                	if(Long.class==param){ /* Long用の処理 */  }
                }
                return bean;
	}
}