RECORRER UN JAVA BEAN
Posted: martes, 26 de junio de 2012 by Skuarch in Etiquetas: bean, java, recorrer, reflexion
1
En ocaciones se requiere de recorrer un bean dinamicamente, en esta entrada explico como se hace usando unas clases de java
java.beans.BeanInfo
Con esta clase podemos manipular el comportamiento del bean, esta clase define métodos que devuelven descriptores para cada propiedad, método o evento que se quiere exponer.
java.beans.Introspector
Esta clase descubre los metodos del bean usando reflexion
Ejemplo
public class Test {
public test() {
MyBean mybean = new MyBean();
mybean.setAlgo("prueba");
Method m = null;
try {
BeanInfo beanInfo = Introspector.getBeanInfo(mybean.getClass());
for (PropertyDescriptor pd : beanInfo.getPropertyDescriptors()) {
m = pd.getReadMethod();
System.out.println("property: " + pd.getName() + " value: " + m.invoke(mybean, null));
}
} catch (Exception e) {
e.printStackTrace();
}
} // end test
} // end class
Como te puedes dar cuenta la variable "m" se obtiene de pd (PropertyDescriptor) y es un metodo que despues invocamos con invoke, se le pasan como argumentos el bean y los argumentos propios del metodo en caso de que tuviera