org.mozilla.javascript
Class Synchronizer

java.lang.Object
  extended byorg.mozilla.javascript.Delegator
      extended byorg.mozilla.javascript.Synchronizer
All Implemented Interfaces:
Callable, Function, Scriptable

public class Synchronizer
extends 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

Field Summary
 
Fields inherited from class org.mozilla.javascript.Delegator
obj
 
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, newInstance, put, put, setDelegee, setParentScope, setPrototype
 
Methods inherited from class java.lang.Object
clone, equals, finalize, 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)
Description copied from interface: Function
Call the function. Note that the array of arguments is not guaranteed to have length greater than 0.

Specified by:
call in interface Function
Overrides:
call in class Delegator
See Also:
Function.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])