Class JavaFunctionObject

java.lang.Object
org.mozilla.javascript.ScriptableObject
org.loboevolution.js.JavaFunctionObject
All Implemented Interfaces:
Serializable, Callable, ConstProperties, Constructable, DebuggableObject, Function, Scriptable, SymbolScriptable

public class JavaFunctionObject extends ScriptableObject implements Function

JavaFunctionObject class.

See Also:
  • Constructor Details Link icon

    • JavaFunctionObject Link icon

      public JavaFunctionObject(String name, String className)

      Constructor for JavaFunctionObject.

      Parameters:
      name - a String object.
      className - a String object.
  • Method Details Link icon

    • addMethod Link icon

      public void addMethod(Method m)

      addMethod.

      Parameters:
      m - a Method object.
    • call Link icon

      public Object call(Context cx, Scriptable scope, Scriptable thisObj, 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
      Specified by:
      call in interface Function
      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 Link icon

      public Scriptable construct(Context cx, Scriptable scope, 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.

      Specified by:
      construct in interface Constructable
      Specified by:
      construct in interface Function
      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
    • getClassName Link icon

      public String getClassName()
      Return the name of the class.

      This is typically the same name as the constructor. Classes extending ScriptableObject must implement this abstract method.

      Specified by:
      getClassName in interface Scriptable
      Specified by:
      getClassName in class ScriptableObject
    • getDefaultValue Link icon

      public Object getDefaultValue(Class hint)
      Implements the [[DefaultValue]] internal method.

      Note that the toPrimitive conversion is a no-op for every type other than Object, for which [[DefaultValue]] is called. See ECMA 9.1.

      A hint of null means "no hint".

      Specified by:
      getDefaultValue in interface Scriptable
      Overrides:
      getDefaultValue in class ScriptableObject
      Parameters:
      hint - the type hint
      Returns:
      the default value for the object

      See ECMA 8.6.2.6.