Package org.mozilla.javascript
Class Synchronizer
java.lang.Object
org.mozilla.javascript.Delegator
org.mozilla.javascript.Synchronizer
- All Implemented Interfaces:
Callable
,Constructable
,Function
,Scriptable
,SymbolScriptable
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:
-
Field Summary
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
-
Constructor Summary
ConstructorDescriptionSynchronizer
(Scriptable obj) Create a new synchronized function from an existing one.Synchronizer
(Scriptable obj, Object syncObject) Create a new synchronized function from an existing one using an explicit object as synchronization object. -
Method Summary
Modifier and TypeMethodDescriptioncall
(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) Call the function.Methods inherited from class org.mozilla.javascript.Delegator
construct, delete, delete, delete, get, get, get, getClassName, getDefaultValue, getDelegee, getIds, getParentScope, getPrototype, has, has, has, hasInstance, newInstance, put, put, put, setDelegee, setParentScope, setPrototype
-
Constructor Details
-
Synchronizer
Create a new synchronized function from an existing one.- Parameters:
obj
- the existing function
-
Synchronizer
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 Details
-
call
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:
-