package com.rjconsultores; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Map; import com.rjconsultores.ventaboletos.entidad.Tarifa; import br.com.rjconsultores.auditador.annotations.AuditarClasse; public class Teste { public static void main(String[] args) { try { Tarifa tarifa = new Tarifa(); AuditarClasse classe = tarifa.getClass().getAnnotation(AuditarClasse.class); Object obj = Proxy.getInvocationHandler(classe); System.out.println(classe.tela()); Field campo = obj.getClass().getDeclaredField("memberValues"); if(campo != null ) { campo.setAccessible(true); } Map memberValues = (Map) campo.get(obj); Object tela = memberValues.get("tela"); if(tela != null) { memberValues.put("tela", "Teste2"); } System.out.println(classe.tela()); // for (Method metodo : classe.getClass().getDeclaredField("memberValues")) { // metodo.setAccessible(true); // if(metodo.getName().equals("tela")) { // metodo.invoke(classe); // break; // } // } // classe = tarifa.getClass().getAnnotation(AuditarClasse.class); // System.out.println(classe.tela()); } catch (Exception e) { e.printStackTrace(); } } }