Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/02/2017, 20:39
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: Problemas con Reflection al usar herencias

Hola a todos, finalmente pude hacer que las altas con las herencias queden automatizadas, esto anda sólo que para las modificaciones no me pone al else para obtener los get de las subclases. Sólo queda eso.

Código Java:
Ver original
  1. private LinkedList<Object>loadMethods(IPersistente ip) throws Exception{
  2.         LinkedList<Method> m = new LinkedList();        
  3.         Child s = ip.getClass().getAnnotation(Child.class);
  4.         Method[] me = null;
  5.         if(s != null && ip.getId() == 0){
  6.             me = ip.getClass().getSuperclass().getDeclaredMethods();
  7.         } else {
  8.             // sólo este if queda para que las modificaciones con herencias se automaticen, xq con las altas pude
  9.             if(s != null){
  10.                 me = ip.getClass().getSuperclass().getDeclaredMethods();
  11.             } else {
  12.                 me = ip.getClass().getDeclaredMethods();
  13.             }          
  14.         }
  15.         for(Method campo : me){            
  16.             if (campo.getName().startsWith("get") && !campo.getName().startsWith("getClass")) {
  17.                 Method metodo = campo;
  18.                 if(metodo.getParameterCount() == 0) {
  19.                     if(metodo.isAnnotationPresent(Sort.class)){
  20.                         m.add(metodo);
  21.                     }
  22.                 }
  23.             }            
  24.         }
  25.         if(ip instanceof IDependiente && !ip.check()){
  26.             Collections.sort(m, new SortDesc());
  27.         } else {
  28.             Collections.sort(m, new SortAsc());
  29.         }        
  30.         return load(ip, m);
  31.     }

Espero sus respuestas y saludos.