3

複数のエディターが同じ Bean を編集できるように、GWT でエディター フレームワークを使用しようとしています (各エディターはフィールドのバラバラなサブセットを編集します)。

ここに私が持っているものがあります:

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メソッドでbyEditor<MajorEvent>を置き換えてgenSubEditorも、コンパイラは文句を言いません。しかし、その後、ドライバー ジェネレーターがサブ エディターを解析せず、nameEditor見つからないようです。つまり、それは解決策ではないか、何か間違ったことをしたことを意味します。

誰かが助けてくれることを願っています。スタブ gwt プレゼンター/ビューを実際に作成する方法がわからないため、SSCCE を提供しませんでしたが、誰かがその方法を教えてくれたら、喜んで教えてくれます。

4

1 に答える 1

2

これは GWT のバグだと思います。GWT コンパイラは、非静的内部クラスのジェネリック型を読み取りません。この場合、 が をGenSubEditor実装していることはわかっていますが、そのパラメータ タイプのEditor読み取りに失敗しています。MajorEvent

クラスを作っGenSubEditorてみてください。static外部クラスのインスタンスへの参照を使用する場合は、すべて削除することを忘れないでください。

この問題に関するバグレポートを提出してみます。

于 2014-03-30T03:05:55.867 に答える