----------------------------------------------------------

Pedro del Gallego's Weblog

Main | Next month (nov 2004) »

20041018 lunes octubre 18, 2004

Slides monografico JDK 5.0 pues eso aqui dejo las Slides para obtener un poco de feedback

( oct 18 2004, 11:06:41 PM CEST ) Permalink Comentarios [2]

20041014 jueves octubre 14, 2004

Anotaciones.
Preparando el monografico de JDK 5.0 he descubierto una caracteristica que me ha llamado la atencion por encima de las demas: las anotaciones.

Con as anotaciones podemos incluir datos sobre nuestro código (meta-datos, para ser mas exactos, incluso meta-meta-datos o meta-meta-meta-...-metadatos, aunque esto lo dejo para proximos post.)

Estas anotaciones no son simples "code-generators" tipo XDoclet, sino que pueden contener informacion para el compilador para la máquina virtual sobre como manejar ese codigo. Tambien se pueden usar para indicar parametros a un contenedor,... y para que mas pueden servir las anotaciones, pues para un monton de ideas locas, pero en lo primero que pense (sobre todo leyendo algunos los ejemplos) es que pronto apareceran muchos proyectos OS que nos indicaran el estado de nuesto código basandose en anotaciones tipo TODO, INPROGRESS, DEPRECATED... Lo importante, es que podemos crear nuestras propias anotaciones (que enprincipio son solo un conjunto muy limitado). Esto inevitablemete nos llevara a que Apache o Sun, creen un JSAL (Java Standard Annotations Library ;)... yo por el momento estoy intentando desarrollar una pequeña libreria de pruebas. con las siguientes anaotaciones:

class Example {

void insert(@NonNull List list, @validate(methodValidate="validate.email", exception = "org.akuma.exception.mailValidationException") String email) {
// code can assume list and o are each not null,
// because an exception will be thrown if they are null
}

@NonNull(menssage="method can´t return null") String getSomething() { // code cannot return null, or exception and/or
// compile time error occurs
}
}

Ejemplo de etiqueta :

import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Documented;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target ({ElementType.PARAMETER})
public @interface NonNull {

String exception() default "java.lang.Exception";
String menssage() default "Parameter can´t be null";
}



Por ahora no se muy bien como modificar el codigo en ejecucion, supongo que a lo bruto podría usar BCEL o algo asi... ya veremos, a ver si hacen los dias un poco mas largos, que no nos da tiempo a hacer todo lo que queremos

( oct 14 2004, 03:53:15 PM CEST ) Permalink Comentarios [1]

20041005 martes octubre 05, 2004

El club de la lucha

Pillow Figth Club. Ohhh yo quiero ir ... seguro que se lo pasan con como enanos.

( oct 05 2004, 06:36:04 PM CEST ) Permalink Comentarios [0]

Jugando con CSS
Bueno un cambio de look
( oct 05 2004, 02:54:16 PM CEST ) Permalink Comentarios [158]