Exposing a function from Java to Rhino

java, javascript, rhino

Solution

Umm... yes, you can. Perhaps I'm not understanding your question correctly (what do you mean by "top-level function"?) but if you've exposed java object to Rhino, you can call its methods.

Problem

It's easy to make objects available to Rhino from Java using `ScriptableObject.putProperty`, but is there a way to expose a top-level function? That is, can I make it so scripts in Rhino can call `foo()` and have that call out to Java code?

Original source