Banear

sábado, 1 de febrero de 2014

Reflexión en Java

Aunque a veces nos olvidemos de nuestra amiga la "reflexión", de vez en cuando nos puede ser muy útil.

Por ejemplo, cuando tenemos n clases que implementan un método abstracto cuyo nombre de bean configuramos en BD para hacer que la configuración sea sumamente flexible.

Si mañana queremos añadir un nuevo bean y queremos invocar su método, sin necesidad de añadir más código "copypasteado", podemos acordarnos de nuestra amiga la reflexión y hacer algo de este estilo:

GenericProcess instanciaProceso = Util.getBean(paramsEjecucionBatchUtil.getDescripcion());/* Obtenemos una instancia de una clase hija de GenericProcess */
                    Util.getBean(paramsEjecucionBatchUtil.getDescripcion()).getClass().getMethod("doProcess").invoke(instanciaProceso);/* Invocamos el método doProcess */

No hay comentarios:

Publicar un comentario