org.mozilla.javascript

Interface Function

All Superinterfaces:
Callable, Scriptable
Known Implementing Classes:
FunctionObject, Synchronizer

public interface Function
extends Scriptable, Callable

This is interface that all functions in JavaScript must implement. The interface provides for calling functions and constructors.

Author:
Norris Boyd

See Also:
Scriptable

Nested Class Summary

Fields inherited from interface org.mozilla.javascript.Scriptable

NOT_FOUND

Method Summary

Object
call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
Call the function.
Scriptable
construct(Context cx, Scriptable scope, Object[] args)
Call the function as a constructor.

Methods inherited from interface org.mozilla.javascript.Callable

call

Methods inherited from interface org.mozilla.javascript.Scriptable

delete, delete, get, get, getClassName, getDefaultValue, getIds, getParentScope, getPrototype, has, has, hasInstance, put, put, setParentScope, setPrototype

Method Details

call

public Object call(Context cx,
                   Scriptable scope,
                   Scriptable thisObj,
                   Object[] args)
            throws JavaScriptException
Call the function. Note that the array of arguments is not guaranteed to have length greater than 0.
Specified by:
call in interface Callable

Parameters:
cx - the current Context for this thread
scope - 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 object
args - the array of arguments

Returns:
the result of the call

Throws:
JavaScriptException - if an uncaught exception occurred while executing the function


construct

public Scriptable construct(Context cx,
                            Scriptable scope,
                            Object[] args)
            throws JavaScriptException
Call the function as a constructor. This method is invoked by the runtime in order to satisfy a use of the JavaScript new operator. This method is expected to create a new object and return it.

Parameters:
cx - the current Context for this thread
scope - an enclosing scope of the caller except when the function is called from a closure.
args - the array of arguments

Returns:
the allocated object

Throws:
JavaScriptException - if an uncaught exception occurred while executing the constructor