This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!
See this thread for details.
The moose likes Other JSE/JEE APIs and the fly likes Three questions about Java Scripting API. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

JavaRanch » Java Forums » Java » Other JSE/JEE APIs
Bookmark "Three questions about Java Scripting API." Watch "Three questions about Java Scripting API." New topic

Three questions about Java Scripting API.

Dmitry Zhuravlev
Ranch Hand

Joined: Apr 14, 2010
Posts: 93
here are three questions about java scripting api, please help.

(1) How can I get all the variables created inside my engine?
There are two kinds of variables: first kind is Java objects that I have put inside the engine, and second kind is the variables created inside my script, such as 'var a = 4;'. How can I list all the variables of that two kinds, or at least the second kind?

(2) Is there is a way to make 'import static' to the engine? I dont want to write MyClass.MyEnum.MyEnumItem inside my script every time. Also, I cannot put the whole enum into the engine with engine.put("MyEnum", MyEnum); I can put only enum items separately: engine.put("MyEnum", MyEnum.EnumItemA);. Thats why I ask about static import.

(3) How can I cast engine variables back to java variables inside my java code?
Here is my example:

The result is:
Exception in thread "main" java.lang.ClassCastException: cannot be cast to java.lang.Double
at mypackage.Main.main(

Is it possible to retrieve my Double java object from the engine?
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link:
subject: Three questions about Java Scripting API.
jQuery in Action, 3rd edition