org.mozilla.javascript
Class Synchronizer

java.lang.Object
  |
  +--org.mozilla.javascript.Delegator
        |
        +--org.mozilla.javascript.Synchronizer
All Implemented Interfaces:
Callable, Function, Scriptable

public class Synchronizer
extends org.mozilla.javascript.Delegator

This class provides support for implementing Java-style synchronized methods in Javascript. Synchronized functions are created from ordinary Javascript functions by the Synchronizer constructor, e.g. new Packages.org.mozilla.javascript.Synchronizer(fun). The resulting object is a function that establishes an exclusive lock on the this object of its invocation. The Rhino shell provides a short-cut for the creation of synchronized methods: sync(fun) has the same effect as calling the above constructor.

Author:
Matthias Radestock
See Also:
Delegator

Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
 
Constructor Summary
Synchronizer(Scriptable obj)
          Create a new synchronized function from an existing one.
 
Method Summary
 java.lang.Object call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
          Call the function.
 
Methods inherited from class org.mozilla.javascript.Delegator
construct, delete, delete, get, get, getClassName, getDefaultValue, getDelegee, getIds, getParentScope, getPrototype, has, has, hasInstance, put, put, setDelegee, setParentScope, setPrototype
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Synchronizer

public Synchronizer(Scriptable obj)
Create a new synchronized function from an existing one.
Parameters:
obj - the existing function
Method Detail

call

public java.lang.Object call(Context cx,
                             Scriptable scope,
                             Scriptable thisObj,
                             java.lang.Object[] args)
                      throws JavaScriptException
Description copied from interface: Function
Call the function. Note that the array of arguments is not guaranteed to have length greater than 0.
Overrides:
call in class org.mozilla.javascript.Delegator
See Also:
Function.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])