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 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 class org.mozilla.javascript.Delegator |
obj |
Constructor Summary |
Synchronizer(Scriptable obj)
Create a new synchronized function from an existing one. |
Synchronizer(Scriptable obj,
java.lang.Object syncObject)
Create a new synchronized function from an existing one using
an explicit object as synchronization object. |
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 |
Synchronizer
public Synchronizer(Scriptable obj)
- Create a new synchronized function from an existing one.
- Parameters:
obj
- the existing function
Synchronizer
public Synchronizer(Scriptable obj,
java.lang.Object syncObject)
- Create a new synchronized function from an existing one using
an explicit object as synchronization object.
- Parameters:
obj
- the existing functionsyncObject
- the object to synchronized on
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 Callable
- Specified by:
call
in interface Function
- Overrides:
call
in class Delegator
- Parameters:
cx
- the current Context for this threadscope
- the scope to execute the function relative to. This is
set to the value returned by getParentScope() except
when the function is called from a closure.thisObj
- the JavaScript this
objectargs
- the array of arguments
- Returns:
- the result of the call
- See Also:
Function.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])