GWT – JavaScriptObject overlay types Enum

abril 13, 2012

Si trabajas con GWT y JSON es muy probable que hayas utilizado overlay types. Para utilizar una enumeración en un overlaytype puedes hacerlo de la siguiente manera.

public class Parametro extends JavaScriptObject{

public static enum Tipo{ComboBox,TextBox,Date,ValueList}

protected Parametro() {

}

public native final String getNombre() /-{return this.nombre;}-/;

public native final void setNombre(String nombre) /-{this.nombre = nombre;}-/;

public native final String getTitulo() /-{return this.titulo;}-/;

public final native void setTitulo(String titulo) /-{this.titulo = titulo;}-/;

public final Tipo getTipo(){

    return Tipo.valueOf(getNativeTipo());

}

public native final String getNativeTipo() /-{return this.tipo}-/;

public final void setTipo(Tipo tipo){

    setNativeTipo(tipo.toString());

}

public native final void setNativeTipo(String tipo) /-{this.tipo = tipo;}-/;

}

Notesé que la propiedad Tipo es un enum, lo que hicimos fue agregar los métodos JSNI getNativeTipo y setNativeTipo que utilizan el tipo de dato String -que es soportado en javascript- y lo convertimos a su valor de la enumeración en los métodos getTipo y setTipo respectivamente.

Fuentes:
http://www.mail-archive.com/google-web-toolkit@googlegroups.com/msg50923.html
https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsOverlay 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: