jueves, 1 de agosto de 2013

Utileria. Convertir un DTO en String.


Aveces hace falta para sacar en consola o en el log, los valores de un objeto

    /**
     * Transforma un DTO a cadena.
     * @param obj
     * @return
     * @throws SecurityException 
     * @throws NoSuchMethodException 
     */
    public static String dtoToString(Object obj){
    if(obj!=null){
    StringBuilder out = new StringBuilder();
        out.append("[");
        Field[] props = obj.getClass().getDeclaredFields();
        for(Field prop:props){
    try{
    String methodName= "get";
        methodName += String.valueOf(prop.getName().charAt(0)).toUpperCase();
    methodName += prop.getName().substring(1);
    Method getter = obj.getClass().getMethod(methodName);
    Object value = getter.invoke(obj, new Object[0]);
        out.append(prop.getName()+":"+value);
        out.append(", ");
    }catch(Exception e){
    }    
        }
        out.append("]");
        return out.toString();
    }else{
    return "No dto object";
    }
    }


No hay comentarios:

Publicar un comentario