[Spanish] presentacion

Gabriel Roldán groldan at axios.es
Tue Mar 20 12:21:50 EDT 2007


On Tuesday 20 March 2007 16:49, Jorge Gaspar Sanz Salinas wrote:
> Francisco Palm escribió:
> > ¿En Java todo es un  objeto? ¿En Java una constante es un objeto, un
> > módulo es un objeto, un método es un objeto? ¿En Java puedes crear
> > nuevas clases y añadirles propiedades y métodos en tiempo de
> > ejecución?
>
> Sí que se puede, en Java hay reflexión de código.
>
> (Qué me corrijan o corroboren los expertos, que igual digo una burrada)
>
> Yo diría que es posible "compilar en caliente" código e inyectarlo en
> las clases en tiempo de ejecución.
>
> Otra cosa es que no haya mucha gente utilizando esto...

correcto pero la pregunta de Francisco iba más dirigida a la inyección de 
propiedades a un objeto en tiempo de ejecución. Esto se hace también en 
ECMAScript, ya que cada objeto es básicamente un HashTable (agh!), se le 
puede "inyectar" un attributo o un método, tanto de instancia como de clase, 
en tiempo de ejecución.
La aclaración viene a que no es una característica disponible en java "out of 
the box" mediante reflexión (Dios me libre).
Pero SI que se puede hacer, la técnica se llama "Byte Code Engineering" y es 
lo que hace CGLIB (http://cglib.sourceforge.net/) y utilizado muchísimo por 
Hibernate, por ej.

2c.
Gabriel


More information about the Spanish mailing list