Package 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 theSynchronizer
constructor, e.g.new Packages.org.mozilla.javascript.Synchronizer(fun)
. The resulting object is a function that establishes an exclusive lock on thethis
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.- See Also:
Delegator
-
-
Field Summary
-
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
-
-
Constructor Summary
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
Constructor Detail
-
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
-
-
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 interfaceCallable
- Specified by:
call
in interfaceFunction
- Overrides:
call
in classDelegator
- 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 JavaScriptthis
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[])
-
-