2

2 つの日付フィールド (開始日と終了日) を持つエディター インターフェイス (com.google.gwt.editor.client.Editor) を実装する UI-Binder である GWT でフォームをビルドしたとします。Bean クラスには次のメンバーが必要です。

    開始日; // ゲッターとセッターを使用
    日付から日付; // ゲッターとセッターを使用

さて、Bean クラスが記述済みとして定義されている間は問題ありませんが、次のようなものを追加した直後に:

public boolean hasFromDate()
{
    return fromDate != null;
}

コンパイル エラーが発生しました (たとえば fromDate の場合):

 [ERROR] Line 17: The method hasFromDate() is undefined for the type Date
 [ERROR] Line 20: The method setFromDate(Date) is undefined for the type Date

一時ファイル (qualifiedBeanClass_fromDate_Context.java) で生成されたコードには次のように見えます。

@Override public java.util.Date getFromModel() {
    return (parent != null && true) ? parent.getToDate().hasToDate() : null;
}

@Override public void setInModel(java.util.Date data) {
    parent.getToDate().setToDate(data);
}

親は私のBeanクラスです。これはひどく間違っています。getToDate() は Date (または null) インスタンスを返すため、コンパイル エラーにはまったく問題はありません。問題は、なぜ GWT がこれらのメソッド (hasToDate/hasFromDate) を気にするのか、または getter/setter メソッドのみを持つことが必須なのかということです。

4

0 に答える 0