【发布时间】:2013-07-22 10:30:19
【问题描述】:
我有一系列模型,每个模型都有一些属性,生成器使用这些属性自动生成 getter/setter(因为其中包含一些与默认值相关的逻辑,我不打算手动编写这些对于具有 20 个奇数场的模型)。
当我实例化模型时,我使用GWT.create(...),但有时我有引用我的模型的类,而这些类不知道 setter/getter 存在,因为它们是生成的。
例如,我有我的模型:
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?
这适用于泛型和方法参数、返回类型等。
【问题讨论】: