Package org.mozilla.javascript
Class Synchronizer
java.lang.Object
org.mozilla.javascript.Delegator
org.mozilla.javascript.Synchronizer
- All Implemented Interfaces:
Callable
,Function
,Scriptable
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.- See Also:
-
Field Summary
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
-
Constructor Summary
ConstructorsConstructorDescriptionSynchronizer
(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, get, get, getClassName, getDefaultValue, getDelegee, getIds, getParentScope, getPrototype, has, has, hasInstance, 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:
-