Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不使用GWT生成GWT类_Java_Gwt_Generator - Fatal编程技术网

Java 不使用GWT生成GWT类

Java 不使用GWT生成GWT类,java,gwt,generator,Java,Gwt,Generator,我有一系列模型,每个模型都有一些属性,生成器使用这些属性自动生成getter/setter,因为其中包含一些与默认值相关的逻辑,我不打算为具有20多个字段的模型手动编写这些属性 当我实例化模型时,我使用GWT.create…,但有时我有引用我的模型的类,这些类不知道setter/getter是否存在,因为它们是生成的 例如,我有我的模型: public class MyModel extends AbstractModel { private Integer uid; priva

我有一系列模型,每个模型都有一些属性,生成器使用这些属性自动生成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也是使用GWT.create生成的类,但它引用的是MyModel,而不是生成的MyModelImpl。因此,在编译时,我会遇到一些错误,比如没有为类MyModel定义setUidInteger值

有没有办法让编译器用MyModelImpl替换MyModel的所有用法

这适用于泛型和方法参数、返回类型等


在您的特定情况下,我宁愿使用您想要的任何代码生成器(例如,注释处理器)预先生成MyModelImpl等人的代码,然后直接针对生成的类进行编码。

好的,谢谢。如果我们不能让发电机工作,这将是我们的选择。谢谢您能为我指出如何生成带有注释的代码的详细方向吗?我知道如何声明除了注释之外什么都不做的基本注释,但是有没有一种方法可以使用它们来生成代码?我发现了这一点:但是如果你有更好的注释,请发布它:注释不允许我修改当前的源文件,这看起来很混乱,所以我使用的是Lombok项目。Lombok项目是基于黑客技术构建的,但效果出奇地好。使用注释处理器或生成器中的任何一个都可以在您的示例中以生成类的Java源代码的形式使用描述符,但是您的代码只引用生成的类。有关该方法的示例,请参见。