websphinx.workbench
Interface ScriptInterpreter

All Known Implementing Classes:
Netscape

public interface ScriptInterpreter


Method Summary
 java.lang.Object apply(java.lang.Object func, java.lang.Object[] args)
          Call a procedure or function.
 java.lang.Object eval(java.lang.String expression)
          Evaluate an expression in the script language.
 java.lang.Object get(java.lang.String name)
          Get a variable defined in the interpreter's global namespace
 java.lang.String getLanguage()
          Return name of language this interpreter handles.
 java.lang.Object lambda(java.lang.String[] args, java.lang.String body)
          Construct a procedure or function.
 void set(java.lang.String name, java.lang.Object object)
          Set a variable in the interpreter's global namespace
 

Method Detail

getLanguage

public java.lang.String getLanguage()
Return name of language this interpreter handles.

Returns:
Language name, such as "Javascript" or "TCL"

eval

public java.lang.Object eval(java.lang.String expression)
                      throws ScriptException
Evaluate an expression in the script language.

Parameters:
expression - Expression to evaluate
Throws:
ScriptException - if execution encounters an error

lambda

public java.lang.Object lambda(java.lang.String[] args,
                               java.lang.String body)
                        throws ScriptException
Construct a procedure or function.

Parameters:
args - Argument names
body - Function body
Returns:
Function object suitable for apply()
Throws:
ScriptException - if execution encounters an error

apply

public java.lang.Object apply(java.lang.Object func,
                              java.lang.Object[] args)
                       throws ScriptException
Call a procedure or function.

Parameters:
func - Function object (previously returned by lambda()
args - Arguments for the function
Throws:
ScriptException - if execution encounters an error

set

public void set(java.lang.String name,
                java.lang.Object object)
Set a variable in the interpreter's global namespace

Parameters:
name - Name of variable
object - New value for variable

get

public java.lang.Object get(java.lang.String name)
Get a variable defined in the interpreter's global namespace

Parameters:
name - Name of variable to get
Returns:
Value of variable, or null if not defined