Reflexión (reflection) es un framework habitualmente poco conocido. Este framework nos permite preguntar al código por si mismo.
Aunque su uso no sea muy conocido, a nivel interno componentes como Hibernate lo usan.
Un ejemplo más cercano es la programación de servlets dentro de una pagina web dinámica.
En el fichero web.xml, podemos indicar a reflection como “generar la clase”.
Un ejemplo de lo anterior es el siguiente:
<servlet>
<servlet-name> Nombre </servlet-name>
<servlet-class> Nombre fichero java</servlet-class>
<servlet>
<servlet-mapping>
<servlet-name> Nombre </servlet-name>
<servlet-pattern> Nombre fichero java</servlet-pattern>
<servlet-mapping>
Reflecttion se encuentra dentro de java.lang.Object con lo que todos los objetos pueden hacer uso de él.
Reflection nos proporciona los siguientes métodos:
public String getName()
public Class getType()
public Object get(Object obj)
public void set (Object obj, Object value)
public Class[] getParameterTypes()
public Cass getReturnType()
Si bien mediante estos métodos reflexión solo obtiene los campos y métodos públicos de una clase. A través de los métodos constructores, getters y setters podríamos obtener información suficiente para reconstruir la clase o bien interactuar con ella con la suficiente seguridad de la corrección.
Más información:
http://download.oracle.com/javase/tutorial/javabeans/introspection/index.html
http://download.oracle.com/javase/tutorial/reflect/index.html
No hay comentarios:
Publicar un comentario