net.sourceforge.htmlunit.corejs.javascript
Interface Function

All Superinterfaces:
Callable, Scriptable
All Known Implementing Classes:
BaseFunction, BoundFunction, Delegator, FunctionObject, IdFunctionObject, NativeContinuation, NativeFunction, NativeJavaClass, NativeJavaConstructor, NativeJavaMethod, NativeJavaTopPackage, NativeRegExp, Require, 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

Field Summary
 
Fields inherited from interface net.sourceforge.htmlunit.corejs.javascript.Scriptable
NOT_FOUND
 
Method Summary
 java.lang.Object call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
          Call the function.
 Scriptable construct(Context cx, Scriptable scope, java.lang.Object[] args)
          Call the function as a constructor.
 
Methods inherited from interface net.sourceforge.htmlunit.corejs.javascript.Scriptable
delete, delete, get, get, getClassName, getDefaultValue, getIds, getParentScope, getPrototype, has, has, hasInstance, put, put, setParentScope, setPrototype
 

Method Detail

call

java.lang.Object call(Context cx,
                      Scriptable scope,
                      Scriptable thisObj,
                      java.lang.Object[] args)
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

construct

Scriptable construct(Context cx,
                     Scriptable scope,
                     java.lang.Object[] args)
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