aqui tenemos un ejemplo de uso de reflection.
public Object pullObjectFromProperty(Object o, String property) throws Exception {
//gets the current class
Class _class = o.getClass();
//gets the field of the object
Field field = _class.getDeclaredField(property);
Object result = null;
field.setAccessible(true);
//assign the value of the field to a result
result = field.get(o);
return result;
}
el siguiente fragmento puede sacar el valor del objeto conociendo el nombre del campo, tambien es posible obtener una lista de campos del objeto, una vez que conocemos esto podemos sacar las propiedades del objeto, tambien es posible invocar metodos o en dado caso obtener los metodos y saber como invocarlos, esto proporciona muchas ventajas a la hora de programar, podemos extraer la informacion de las superclases, interfaces y demas, todo esto y mas nos permite reflection, esto se genera al momento de ejecucion, como todo no debe de abusarse de esta tecnologia, debido a que puede hacer que una aplicacion disminuya su rendimiento, muestre comportamientos no adecuados, genere cosas inesperadas, sin embargo bien utilizada puede ser la herramienta perfecta.
recomiendo el siguiente libro de reflection, excelente libro.
http://www.manning.com/forman/
No hay comentarios:
Publicar un comentario