Mostrando entradas con la etiqueta reflexion. Mostrar todas las entradas
Mostrando entradas con la etiqueta reflexion. Mostrar todas las entradas

RECORRER UN JAVA BEAN

Posted: martes, 26 de junio de 2012 by Skuarch in Etiquetas: , , ,
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