Resin's JavaScript engine is in the com.caucho.es package. The main classes are com.caucho.es.parser.Parser and com.caucho.es.Script. Parser is a factory for generating scripts and Script is a compiled script. Running JavaScript is a two-step process: compile the script and then execute it.
Basic javascript just needs two know about two classes: com.caucho.es.parser.Parser and com.caucho.es.parser.Script. Parser is a factory for parsing Scripts and Script represents a compiled script. Most application will set the script path and the work directory. The script path specifies the directories to search for javascript files. MergePath is handy since it lets you build a list of directories to search. You can also add the classpath to the list of directories to search by calling addClassPath. The default search path is the current directory of the process (e.g. server-home) and includes the classpath. So a simple application can just put javascript files in the classpath. The work directory specifies where the generated *.java and *.class will go. The parser will try to load a precompiled script before parsing the script. If any of the source files have changed, the parser will recompile the script.
Once the script is compiled, the application can execute it. The Script object is thread-safe, since all the JavaScript objects, including the global objects, have their own copy for each execution. Custom global objects can be configured by adding them to a HashMap in the script call.
|