44 lines
1.3 KiB
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();
|
|
}
|
|
}
|
|
}
|