martes
nov192002
Acaba de salir una nueva versión de Javaassist
martes, noviembre 19, 2002 at 1:00AM
Javaassist ( Java Programming Assistant ) es un sistema de carga dinámica de clases Java mediante reflection. Las clases se cargan en tiempo de carga, valga la redundancia, lo que permite crear nuevas clases o modificar nuestras propias clases ( incluso llamadas internas a otros métodos ) en tiempo real.
El sistema está diseñado para que las clases se puedan modificar de manera sencilla incluso sin conocer los mecanismos internos de carga de clases de Java. Esta facilidad de uso es un aspecto muy importante y que le da ventaja sobre otras soluciones. Por ejemplo:
Con este trozo de código podríamos hacer que nuestra clase test.Rectangle pase a tener como clase padre a test.Point. Todo eso en tiempo real.
Javaassist no permite cambiar las clases del sistema en tiempo real ya que eso sólo lo puede hacer el System ClassLoader (sino sería un gravísimo fallo de seguridad) pero lo que si que permite es crear nuevas clases.
Si os interesa os podéis descargar los binarios, fuentes y tutoriales desde la página del proyecto
El sistema está diseñado para que las clases se puedan modificar de manera sencilla incluso sin conocer los mecanismos internos de carga de clases de Java. Esta facilidad de uso es un aspecto muy importante y que le da ventaja sobre otras soluciones. Por ejemplo:
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("test.Rectangle");
cc.setSuperclass(pool.get("test.Point"));
pool.writeFile("test.Rectangle");
Con este trozo de código podríamos hacer que nuestra clase test.Rectangle pase a tener como clase padre a test.Point. Todo eso en tiempo real.
Javaassist no permite cambiar las clases del sistema en tiempo real ya que eso sólo lo puede hacer el System ClassLoader (sino sería un gravísimo fallo de seguridad) pero lo que si que permite es crear nuevas clases.
Si os interesa os podéis descargar los binarios, fuentes y tutoriales desde la página del proyecto
in
j2se
j2se 
Reader Comments