2011-10-24 77 views
1

我有一個接口,EventHandler(OSGi EventAdmin),帶有一個方法handleEvent(Event)。如何獲得JavaScript實現的接口的哈希碼

我有以下的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()方法。

NativeObject是否缺少標準Java對象方法的原因?

解決此問題的方法是什麼?

我正在使用JRE6(1.6R2)附帶的Rhino。

回答

0

您的代碼不完整,但NativeObject看起來更像是JavaScript反對我。

+0

我更新了代碼,只丟失了導入語句。據我所知,'code'NativeObject是Java對象的Javascript表示。 EventHandler是一個接口,所以創建的對象是一個特殊的對象。有沒有辦法創建一個Java對象呢? –