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 メソッドのみを持つことが必須なのかということです。