Hola a todos, espero que estén bien, tengo una consulta para hacer y es que estoy automatizando las altas y bajas, de hecho funcionan sólo que no andan con las herencias:
ParamBuilder.java
Código Java:
Ver originalprivate LinkedList
<Object
>loadMethods
(IPersistente ip
) throws Exception{ // mi problema está en el getDeclaredMethods() que lo uso para que me obtenga los get de la clase creada pero no los de la superclase.
for(Method campo
: ip.
getClass().
getDeclaredMethods()){ if (campo.getName().startsWith("get") && !campo.getName().startsWith("getClass")) {
if(metodo.getParameterCount() == 0) {
if(metodo.isAnnotationPresent(Sort.class)){
m.add(metodo);
}
}
}
}
if(ip instanceof IDependiente && !ip.check()){
} else {
}
return load(ip, m);
}
En UsuarioModel traté de usar casting pero no funcionó, y así tengo el save del mismo:
Código Java:
Ver original@Override
public void save
(IPersistente row
) throws Exception { if(row.getId() == 0){
System.
out.
println(this.
sp.
insert()); // No me obtiene los get de la clase usuario, intenté usar downcasting pero no funcionó.
this.sp.getBD().conmand(this.sp.insert(), this.pm.getParam(row));
row.setId(this.maxId());
} else {
System.
out.
println(this.
sp.
update()); this.sp.getBD().conmand(this.sp.update(), this.pm.getParam(row));
}
if(row instanceof Comprador){
Comprador c = (Comprador) row;
new CompradorModel(this.ip).save(c);
} else if(row instanceof Subastador){
Subastador s = (Subastador) row;
new SubastadorModel(this.ip).save(s);
} else {
Administrador a = (Administrador) row;
new AdministradorModel(this.ip).save(a);
}
}
Digamos que soy nuevo usando Reflections, Metadatos y Anotaciones en Java, hace semanas que no le encuentro la vuelta.
Espero sus respuestas, las cuales agradeceré.
Saludos