Javassist: Ejemplo sencillo

Javassist (Java Programming Assistant) es una librería que permite manipular el bytecode Java de forma sencilla.

Con Javassist podemos crear clases en ejecución, modificar una clase cuando se carga la JVM.

Javassist ofrece 2 APIs:

· Source level API: permite editar una ckase sin conocimiento del bytecode.

· Bytecode level API: permite editar directamente una clase.

Javassist forma parte de JBoss Community.

Para empezar os recomiendo este tutorial: http://www.csg.is.titech.ac.jp/~chiba/javassist/tutorial/tutorial.html

Lo podéis ver traducido aquí: http://www.javamexico.org/blogs/oscarryz/nano_ejemplo_de_javassist

El ejemplo básicamente instrumenta la clase Rectangle haciendo que herede de Point.

La clase:

Si hago test.Point r = new test.Rectangle() me da este error:

Si con Javassist hago esto:

He indicado que la clase Padre de Rectangle es Point por lo que compilará correctamente.

Deja un comentario