Bom dia. Eu estou pegando os valores dos campos de uma classe por reflexão. Estou recebendo o objeto por parâmetro, mas quando eu vou mostrar o valor que peguei, ele vem em branco. Estou conseguindo pegar o atributo, mas não o valor. Pelo que eu percebi, parece que ele não está pegando a instância do objeto que foi passado. Agradeço a ajuda que vinher.
public static void transformarCamposCaixaAlta(BaseModel bm) {
Class<?> classe = bm.getClass();
for(Field item : classe.getDeclaredFields()) {
item.setAccessible(true);
if (item.getType() == BaseModel.class) {
try {
transformarCamposCaixaAlta((BaseModel) item.get(bm));
} catch (IllegalArgumentException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (item.isAnnotationPresent(FieldUpperCase.class)) {
try {
if(item.get(bm) != null) {
System.out.println("Valor: "+ item.get(bm).toString() + " Tipo: "+ item.getName());
System.out.println("------");
item.set(bm, ((String)item.get(bm)).toUpperCase());
}
} catch (IllegalArgumentException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}