AdmMono/src/java/com/rjconsultores/Teste.java

44 lines
1.3 KiB
Java

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<String, Object> memberValues = (Map<String, Object>) 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();
}
}
}