Rhino Examples
Examples have been provided that show how to control the JavaScript engine
and to implement scriptable host objects. All the examples are in the cvs
tree at mozilla/js/rhino/examples.
Sample Scripts
The unique.js
script allows printing unique lines from a file.
The liveConnect.js
script shows a sample usage of LiveConnect (Java-to-JavaScript connectivity).
The jsdoc.js
script is a JavaScript analog to Java's javadoc. It makes heavy
use of regular expressions.
The checkParam.js
script is a useful tool to check that @param tags in Java documentation
comments match the parameters in the corresponding Java method.
The enum.js
script is a good example of using a JavaAdapter to implement a Java interface
using a JavaScript object.
The NervousText.js
script is a JavaScript implementation of the famous NervousText applet
using JavaScript compiled to Java classes using jsc.
It can be run in the HTML page NervousText.html.
Controlling the JavaScript Engine
The RunScript class
RunScript.java
is a simple program that executes a script from the command line.
The Control class
Control.java
is a program that executes a simple script and then manipulates the result.
JavaScript Shell
Shell.java
is a program that executes JavaScript programs; it is a simplified version
of the shell in the tools package. The programs may be specified
as files on the command line or by typing interactively while the shell
is running.
PrimitiveWrapFactory
PrimitiveWrapFactory.java is an example of a WrapFactory that
can be used to control the wrapping behavior of the Rhino engine on calls to Jav
a methods.
Multithreaded Script Execution
DynamicScopes.java
is a program that creates a single global scope object and then shares
it across multiple threads. Sharing the global scope allows both information
to be shared across threads, and amortizes the cost of Context.initStandardObjects
by only performing that expensive operation once.
Implementing Host Objects
First check out the tutorial
if you haven't already.
The Foo class - Extending ScriptableObject
Foo.java
is a simple JavaScript host object that includes a property with an associated
action and a variable argument method.
The Matrix class - Implementing Scriptable
Matrix.java
provides a simple multidimensional array by implementing the Scriptable
interface.
The File class - An advanced example
File.java
extends ScriptableObject to provide a means of reading and writing files
from JavaScript. A more involved example of host object definition.
back to top