私は一連のモデルを持っています。各モデルには、ジェネレーターがゲッター/セッターを自動的に生成するために使用するいくつかのプロパティがあります (そこに含まれるデフォルト値に関連するいくつかのロジックがあり、モデルに対してこれらを手動で記述するつもりはないため) 20 奇数フィールド)。
モデルをインスタンス化するときは を使用しますGWT.create(...)
が、モデルを参照するクラスがあり、これらは生成されるため、セッター/ゲッターが存在することを知りません。
たとえば、私は自分のモデルを持っています:
public class MyModel extends AbstractModel {
private Integer uid;
private String name;
// ...
}
public interface JsonBinder<MyModel> {
public void bindDataToMode(MyModel model, JSONWrapper json);
}
現在JsonBinder<T>
も を使用して生成されたクラスですが、生成さGWT.create
れた ではなく参照しMyModel
ていますMyModelImpl
。したがって、コンパイル時に次のようなエラーが発生しますsetUid(Integer value) is not defined for class MyModel
。
コンパイラに のすべての使用を に置き換える方法はありMyModel
ますMyModelImpl
か?
これは、ジェネリックとメソッド引数、戻り値の型などの両方に適用されます.