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。
我更新了代码,只丢失了导入语句。据我所知,'code'NativeObject是Java对象的Javascript表示。 EventHandler是一个接口,所以创建的对象是一个特殊的对象。有没有办法创建一个Java对象呢? –