GWT の一部のカスタム クライアント サーバー通信コードでは、java.lang.reflect.Proxy で行うのと同様の方法で Java インターフェースを動的に実装したいと考えています。GWT にはリフレクションのサポートが含まれておらず、扱いにくいコード ジェネレーターを作成するのが嫌いなので、これを JSNI およびオーバーレイ タイプで実行できるかどうか疑問に思っています。
以下のような流れで考えています。
- 私はいくつかの既存のJavaインターフェースを持っており、そのメソッドとその署名、注釈などの表現を何らかの形で持っています(実際のクラスオブジェクトはGWTでは役に立たないため)。
- その表現を、それを使用して新しい Javascript オブジェクトを構築し、それに対応するメソッドを定義する JSNI メソッドに渡します。メソッドの実際の実装はかなり簡単で、引数を何らかのデータ構造に書き込み、null を返すだけです。
- インターフェイス型に何らかの形でキャスト可能な JSNI から Javascript オブジェクトを取得します。インターフェイスのメソッドがこのインスタンスで呼び出されると、ステップ 2 で定義された対応する Javascript メソッドが呼び出され、引数が保存されます。
誰かが似たようなことを試みましたか?これが原則として機能しない理由はありますか?
前もって感謝します。