GWT OverlayTypes Дата и Лонг - PullRequest
       15

GWT OverlayTypes Дата и Лонг

6 голосов
/ 17 ноября 2010

У меня есть некоторые ошибки из типов Date и Long и Overlay Types. Оба используют long, что не разрешено в GWT JSNI. Дата сериализуется как долго через getTime ().

То, что я сейчас делаю (и это похоже на работу):

ОТ JAVA (Использование Джексона для сериализации в JSON)

Long myLong = new Long(50)
Date myDate = new Date();

public String getMyLong()
{
return String.valueOf(myLong);
}

public String getDate() {
return String.valueOf(date.getTime());
}

ОТ GWT (с использованием OverlayTypes)

/*Returning a Long*/
private final native String _getEscaletaId()   /*-{ return this.escaletaId; }-*/; 
public final Long getEscaletaId() {return new Long(_getEscaletaId());}
/*Returning a Date*/
private final native String _getDate() /*-{ return this.date; }-*/; 
public final Date getDate() {return new Date(Long.valueOf(_getDate()));}

Это лучший подход для работы с длинными и другими специальными типами?

Thankyou.

1 Ответ

3 голосов
/ 17 ноября 2010

Для дат: JsDate, тонкая оболочка JSO вокруг объекта JS Date .

Длинные являются рискованными, потому что JavaScript не имеет концепциидолго.Все числа являются 53-битными двойными числами, факт, который бит Twitter недавно .

...