Usando BeanWrapperImpl

En el post anterior Cargando combos con ADF-faces mencioné un poco de esta clase de Spring (org.springframework.beans.BeanWrapperImpl), pues es una herramienta muy buena que permite realizar un "get" o "set" al valor de la propiedad de un bean a través del nombre de la propiedad de éste.

Supongamos que todos nuestros beans tienen como atributo : "id" y "descripcion" y necesitamos convertir una lista de beans a un map sin usar interfaces, el código sería de la siguiente manera:



public static Map getMapFromListOfBeans(List beanList){
Map map = new HashMap();
for (Iterator iterator = beanList.iterator(); iterator.hasNext();) {
Object bean = (Object) iterator.next();
BeanWrapper bw = new BeanWrapperImpl(bean);
String codigo = (String)bw.getPropertyValue("id"));
String nombre = (String) bw.getPropertyValue("descripcion");
map.put(codigo, nombre);
}
return map;
}





Es importante saber donde utilizar el BeanWrapperImpl, podría simplificar y mejorar tu código....

Comentarios