GWT编辑器 - 可分配给原始编辑器类型,但需要类型参数化

时间:2013-03-19 17:03:10

标签: gwt editor

我正在尝试在GWT中使用编辑器框架,以便我可以让多个编辑器编辑同一个bean(每个编辑器编辑一个不相交的字段子集)。

这大致是我所拥有的:

class EventEditor implements Editor<MajorEvent> {

    // Dispatch to a sub editor. 
    // Later there will be multiple such sub editors with different types,
    // but all implementing Editor<MajorEvent>.

    @Path("")
    public GenSubEditor genSubEditor() {
        return genPresenter.getView().getSubEditor();
    }
}

public class GenSubEditor implements Editor<MajorEvent> {

    Editor<String> nameEditor() {
        return endDate;
    }
}

这是GWT编译器给我的错误:

The type `GenSubEditor` is assignable to the raw Editor type, but a type parameterization is required.

如果我在GenSubEditor方法中将Editor<MajorEvent>替换为genSubEditor,则编译器不会抱怨。但是,似乎驱动程序生成器不解析我的子编辑器,并且永远找不到nameEditor。所以这不是一个解决方案,或者它意味着我做了别的错误。

希望有人可以提供帮助。我没有提供SSCCE,因为我实际上并不知道如何创建一个存根gwt演示者/视图,但如果有人告诉我该怎么做,我会很高兴。

1 个答案:

答案 0 :(得分:2)

我认为这是一个GWT错误。 GWT编译器不会读取泛型类型的非静态内部类。 在这种情况下,它知道GenSubEditor实现Editor,但无法读取其MajorEvent参数类型。

尝试GenSubEditor static课程。 如果使用任何引用,请记住删除对外部类实例的所有引用。

我会尝试提交有关此问题的错误报告。