3

GWT の一部のカスタム クライアント サーバー通信コードでは、java.lang.reflect.Proxy で行うのと同様の方法で Java インターフェースを動的に実装したいと考えています。GWT にはリフレクションのサポートが含まれておらず、扱いにくいコード ジェネレーターを作成するのが嫌いなので、これを JSNI およびオーバーレイ タイプで実行できるかどうか疑問に思っています。

以下のような流れで考えています。

  1. 私はいくつかの既存のJavaインターフェースを持っており、そのメソッドとその署名、注釈などの表現を何らかの形で持っています(実際のクラスオブジェクトはGWTでは役に立たないため)。
  2. その表現を、それを使用して新しい Javascript オブジェクトを構築し、それに対応するメソッドを定義する JSNI メソッドに渡します。メソッドの実際の実装はかなり簡単で、引数を何らかのデータ構造に書き込み、null を返すだけです。
  3. インターフェイス型に何らかの形でキャスト可能な JSNI から Javascript オブジェクトを取得します。インターフェイスのメソッドがこのインスタンスで呼び出されると、ステップ 2 で定義された対応する Javascript メソッドが呼び出され、引数が保存されます。

誰かが似たようなことを試みましたか?これが原則として機能しない理由はありますか?

前もって感謝します。

4

1 に答える 1

0

Javaで同じことをするのを妨げるものは何ですか?一部のデータを渡すファクトリメソッドを用意すると、インターフェイスの実装が返されます。実装は非常に簡単であると言うので、具体的なクラスのセットは限られています。

于 2011-06-27T18:05:59.793 に答える