1
私は、handleEvent(Event)という単一のメソッドを持つインターフェイスEventHandler(OSGi EventAdmin)を持っています。Javascriptで実装されたインターフェイスのハッシュコードを取得する方法
Iは、以下のJavaScriptコードを有する:
importPackage(org.osgi.service.event)
obj =
{
handleEvent: function(event)
{
// some code
}
};
handler = new EventHandler(obj);
service.registerHandler(handler, topic);
コードはライノ(より具体的にはライノJRE6、JSR-223仕様に組み込まれる)によって実行されます。 serviceは、スクリプトコンテキストにバインドされたJavaオブジェクトで、registerHandlerは最初にMap内のハンドラを検索します。これは、NativeObjectの "ハンドラ" にhashCode()メソッドがないために失敗します。
標準JavaオブジェクトメソッドがNativeObjectにない理由はありますか?
これを回避する方法はありますか?
JRE6(1.6R2)に付属のRhinoを使用しています。
私はコードを更新し、欠落しているimport文だけを更新しました。私が理解しているように、 'code'NativeObjectはJavaオブジェクトのJavascript表現です。 EventHandlerはインターフェイスなので、作成されたオブジェクトは特別なオブジェクトです。代わりにJavaオブジェクトを作成する方法はありますか? –