GWT Editor использует IsEditorзаселить длинное поле - PullRequest
3 голосов
/ 11 января 2012

Я только что освоил использование Editor framework и портирую все свои формы для его использования. У меня проблемы с формой Event. У меня есть 5 различных time fields - для каждого поля я использую DateBox, чтобы позволить пользователю выбрать время.

В моем старом Activity я преобразовал значения этих полей в Long раз, заполнил мой proxy object и сохранил его.

Я хочу сделать то же самое, используя Editor framework. Могу ли я в любом случае использовать Editor с DateBox для заполнения поля Long в моем доменном объекте. Я уверен, что должен быть способ сделать это, я просто не могу понять это.

Если это не так, и я просто пока не могу этого сделать, кто-нибудь знает хорошее решение, как это сделать?

1 Ответ

10 голосов
/ 11 января 2012

Вы должны обернуть DateBox в Editor<Long>. Что-то вроде:

@Editor.Ignore
@UiField
DateBox dateField;

LeafValueEditor<Long> longField = new LeafValueEditor<Long>() {
    @Override
    public Long getValue() {
        Date date = dateField.getValue();
        return date == null ? null : date.getTime();
    }
    @Override
    public void setValue(Long value) {
        Date date = value == null ? null : new Date(value.longValue());
        dateField.setValue(date);
    }
}
...