org.apache.batik.script.rhino
Class RhinoInterpreter

java.lang.Object
  |
  +--org.apache.batik.script.rhino.RhinoInterpreter
All Implemented Interfaces:
Interpreter, Localizable

public class RhinoInterpreter
extends java.lang.Object
implements Interpreter

A simple implementation of Interpreter interface to use Rhino ECMAScript interpreter.


Constructor Summary
RhinoInterpreter()
          Build a Interpreter for ECMAScript using Rhino.
 
Method Summary
 void bindObject(java.lang.String name, java.lang.Object object)
          This method registers a particular Java Object in the environment of the interpreter.
 void dispose()
          For RhinoInterpreter this method does nothing.
 java.lang.Object evaluate(java.io.Reader scriptreader)
          This method evaluates a piece of ECMAScript.
 java.lang.Object evaluate(java.lang.String scriptstr)
          This method evaluates a piece of ECMA script.
 java.lang.String formatMessage(java.lang.String key, java.lang.Object[] args)
          Creates and returns a localized message, given the key of the message in the resource bundle and the message parameters.
protected  org.mozilla.javascript.Context getContext()
          This method returns the default context in which the interpreter runs.
protected  org.mozilla.javascript.ScriptableObject getGlobalObject()
          This method returns the ECMAScript global object used by this interpreter.
 java.util.Locale getLocale()
          Provides a way to the user to specify a locale which override the default one.
 void setLocale(java.util.Locale locale)
          Returns the current locale or null if the locale currently used is the default one.
 void setOut(java.io.Writer out)
          By default Rhino has no output method in its language.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RhinoInterpreter

public RhinoInterpreter()
Build a Interpreter for ECMAScript using Rhino.
See Also:
Interpreter, InterpreterPool
Method Detail

getGlobalObject

protected org.mozilla.javascript.ScriptableObject getGlobalObject()
This method returns the ECMAScript global object used by this interpreter.

getContext

protected org.mozilla.javascript.Context getContext()
This method returns the default context in which the interpreter runs.

evaluate

public java.lang.Object evaluate(java.io.Reader scriptreader)
                          throws InterpreterException,
                                 java.io.IOException
This method evaluates a piece of ECMAScript.
Specified by:
evaluate in interface Interpreter
Parameters:
scriptreader - a java.io.Reader on the piece of script
Returns:
if no exception is thrown during the call, should return the value of the last expression evaluated in the script.

evaluate

public java.lang.Object evaluate(java.lang.String scriptstr)
                          throws InterpreterException
This method evaluates a piece of ECMA script. The first time a String is passed, it is compiled and evaluated. At next call, the piece of script will only be evaluated to prevent from recompiling it.
Specified by:
evaluate in interface Interpreter
Parameters:
scriptstr - the piece of script
Returns:
if no exception is thrown during the call, should return the value of the last expression evaluated in the script.

dispose

public void dispose()
For RhinoInterpreter this method does nothing.
Specified by:
dispose in interface Interpreter

bindObject

public void bindObject(java.lang.String name,
                       java.lang.Object object)
This method registers a particular Java Object in the environment of the interpreter.
Specified by:
bindObject in interface Interpreter
Parameters:
name - the name of the script object to create
object - the Java object

setOut

public void setOut(java.io.Writer out)
By default Rhino has no output method in its language. That's why this method does nothing.
Specified by:
setOut in interface Interpreter
Parameters:
output - the new out Writer.

getLocale

public java.util.Locale getLocale()
Provides a way to the user to specify a locale which override the default one. If null is passed to this method, the used locale becomes the global one.
Specified by:
getLocale in interface Localizable
Parameters:
l - The locale to set.

setLocale

public void setLocale(java.util.Locale locale)
Returns the current locale or null if the locale currently used is the default one.
Specified by:
setLocale in interface Localizable
Following copied from interface: org.apache.batik.i18n.Localizable
Parameters:
l - The locale to set.

formatMessage

public java.lang.String formatMessage(java.lang.String key,
                                      java.lang.Object[] args)
Creates and returns a localized message, given the key of the message in the resource bundle and the message parameters. The messages in the resource bundle must have the syntax described in the java.text.MessageFormat class documentation.
Specified by:
formatMessage in interface Localizable
Parameters:
key - The key used to retreive the message from the resource bundle.
args - The objects that compose the message.
Throws:
MissingResourceException - if the key is not in the bundle.


Copyright © 2001 Apache Software Foundation. All Rights Reserved.