org.zkoss.zk.scripting.rhino
Class RhinoInterpreter

java.lang.Object
  extended by org.zkoss.zk.scripting.util.GenericInterpreter
      extended by org.zkoss.zk.scripting.rhino.RhinoInterpreter
All Implemented Interfaces:
Interpreter

public class RhinoInterpreter
extends GenericInterpreter

Rhino-based JavaScript interpreter.

Author:
tomyeh

Field Summary
 
Fields inherited from class org.zkoss.zk.scripting.util.GenericInterpreter
UNDEFINED
 
Constructor Summary
RhinoInterpreter()
           
 
Method Summary
protected  void afterExec()
          Called after GenericInterpreter.exec(java.lang.String), GenericInterpreter.get(java.lang.String) and many others.
protected  void beforeExec()
          Called before GenericInterpreter.exec(java.lang.String), GenericInterpreter.get(java.lang.String) and many others.
protected  boolean contains(java.lang.String name)
          Tests whether a variable is defined in this interpreter.
 void destroy()
          Reset the owner (GenericInterpreter.getOwner()) to null.
protected  void exec(java.lang.String script)
          Executes the specified script.
protected  java.lang.Object get(java.lang.String name)
          Gets the variable from the interpreter.
 Function getFunction(java.lang.String name, java.lang.Class[] argTypes)
          Returns the method.
 java.lang.Object getNativeInterpreter()
          Returns the native interpreter, or null if it is not initialized or destroyed.
 void init(Page owner, java.lang.String zslang)
          Initializes the interpreter.
protected  void set(java.lang.String name, java.lang.Object value)
          Sets the variable to the interpreter.
protected  void unset(java.lang.String name)
          Removes the variable from the interpreter.
 
Methods inherited from class org.zkoss.zk.scripting.util.GenericInterpreter
afterInterpret, beforeInterpret, contains, containsVariable, containsVariable, get, getClass, getCurrent, getFromNamespace, getFromNamespace, getFunction, getImplicit, getLanguage, getOwner, getVariable, getVariable, interpret, set, setVariable, setVariable, unset, unsetVariable, unsetVariable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RhinoInterpreter

public RhinoInterpreter()
Method Detail

getNativeInterpreter

public java.lang.Object getNativeInterpreter()
Returns the native interpreter, or null if it is not initialized or destroyed. From application's standpoint, it never returns null, and the returned object must be an instance of Scriptable

Since:
3.0.2

exec

protected void exec(java.lang.String script)
Description copied from class: GenericInterpreter
Executes the specified script. Deriving class shall provide an implementation of this method, rather than overriding GenericInterpreter.interpret(java.lang.String, org.zkoss.zk.ui.ext.Scope).

Specified by:
exec in class GenericInterpreter

contains

protected boolean contains(java.lang.String name)
Description copied from class: GenericInterpreter
Tests whether a variable is defined in this interpreter. Optional. Implement it if the interpreter can tell the difference between null and undefined.

By default, it tests whether GenericInterpreter.get(String) returns non-null.

Overrides:
contains in class GenericInterpreter

get

protected java.lang.Object get(java.lang.String name)
Description copied from class: GenericInterpreter
Gets the variable from the interpreter. Optional. Implement it if you want to expose variables defined in the interpreter to Java codes.

GenericInterpreter.beforeExec() is called first, before this method is invoked.

An empty (and fake) scope is pushed so GenericInterpreter.getFromNamespace(java.lang.String) always returns null.

Overrides:
get in class GenericInterpreter

set

protected void set(java.lang.String name,
                   java.lang.Object value)
Description copied from class: GenericInterpreter
Sets the variable to the interpreter. Optional. Implement it if you want to allow Java codes to define a variable in the interpreter.

GenericInterpreter.beforeExec() is called first, before this method is invoked.

Overrides:
set in class GenericInterpreter

unset

protected void unset(java.lang.String name)
Description copied from class: GenericInterpreter
Removes the variable from the interpreter. Optional. Implement it if you want to allow Java codes to undefine a variable from the interpreter.

GenericInterpreter.beforeExec() is called first, before this method is invoked.

Overrides:
unset in class GenericInterpreter

beforeExec

protected void beforeExec()
Description copied from class: GenericInterpreter
Called before GenericInterpreter.exec(java.lang.String), GenericInterpreter.get(java.lang.String) and many others.

Default: does nothing.

Overrides:
beforeExec in class GenericInterpreter

afterExec

protected void afterExec()
Description copied from class: GenericInterpreter
Called after GenericInterpreter.exec(java.lang.String), GenericInterpreter.get(java.lang.String) and many others.

Default: does nothing.

Overrides:
afterExec in class GenericInterpreter

init

public void init(Page owner,
                 java.lang.String zslang)
Description copied from interface: Interpreter
Initializes the interpreter. It is called once when the new instance of interpreter is constructed.

Specified by:
init in interface Interpreter
Overrides:
init in class GenericInterpreter
zslang - the language this interpreter is associated with

destroy

public void destroy()
Description copied from class: GenericInterpreter
Reset the owner (GenericInterpreter.getOwner()) to null.

Specified by:
destroy in interface Interpreter
Overrides:
destroy in class GenericInterpreter

getFunction

public Function getFunction(java.lang.String name,
                            java.lang.Class[] argTypes)
Returns the method.

Note: JavaScript identifies a function with the name only.

Specified by:
getFunction in interface Interpreter
Overrides:
getFunction in class GenericInterpreter
argTypes - the list of argument (aka., parameter) types. If null, Class[0] is assumed.


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo