2011-10-24 15 views
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を使用しています。

答えて

0

コードは完全ではありませんが、NativeObjectのようになります。私にオブジェクト。

+0

私はコードを更新し、欠落しているimport文だけを更新しました。私が理解しているように、 'code'NativeObjectはJavaオブジェクトのJavascript表現です。 EventHandlerはインターフェイスなので、作成されたオブジェクトは特別なオブジェクトです。代わりにJavaオブジェクトを作成する方法はありますか? –

関連する問題