## org.mozilla.javascript
Class IdFunctionObject

    java.lang.Object
      org.mozilla.javascript.ScriptableObject
          org.mozilla.javascript.IdScriptableObject
              org.mozilla.javascript.BaseFunction
                  org.mozilla.javascript.IdFunctionObject

All Implemented Interfaces:
  java.io.Serializable, Callable, ConstProperties, DebuggableObject, Function, IdFunctionCall, Scriptable

    public class IdFunctionObject

extends BaseFunction

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.mozilla.javascript.ScriptableObject
`CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST`

Fields inherited from interface org.mozilla.javascript.Scriptable
`NOT_FOUND`

Constructor Summary
`IdFunctionObject(IdFunctionCall idcall, java.lang.Object tag, int id, int arity)`
`IdFunctionObject(IdFunctionCall idcall, java.lang.Object tag, int id, java.lang.String name, int arity, Scriptable scope)`

Method Summary
`void` `addAsProperty(Scriptable target)`
`java.lang.Object` `call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` Should be overridden.
`Scriptable` `createObject(Context cx, Scriptable scope)` Creates new script object.
`void` `exportAsScopeProperty()`
`int` `getArity()`
`java.lang.String` `getFunctionName()`
`int` `getLength()`
`Scriptable` `getPrototype()` Returns the prototype of the object.
`boolean` `hasTag(java.lang.Object tag)`
`void` `initFunction(java.lang.String name, Scriptable scope)`
`void` `markAsConstructor(Scriptable prototypeProperty)`
`int` `methodId()`
`java.lang.RuntimeException` `unknown()`

Methods inherited from class org.mozilla.javascript.BaseFunction
`construct, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getClassName, getClassPrototype, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getTypeOf, hasInstance, initPrototypeId, setImmunePrototypeProperty, setInstanceIdValue`

Methods inherited from class org.mozilla.javascript.IdScriptableObject
`activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, defineOwnProperty, delete, exportAsJSClass, get, getAttributes, getOwnPropertyDescriptor, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes`

Methods inherited from class org.mozilla.javascript.ScriptableObject

`applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getPropertyIds, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sealObject, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, size`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.mozilla.javascript.Scriptable
`delete, delete, get, get, getDefaultValue, getIds, getParentScope, has, has, put, put, setParentScope, setPrototype`

Constructor Detail

### IdFunctionObject

    public IdFunctionObject(IdFunctionCall idcall,
                            java.lang.Object tag,
                            int id,
                            int arity)

### IdFunctionObject

    public IdFunctionObject(IdFunctionCall idcall,
                            java.lang.Object tag,
                            int id,
                            java.lang.String name,
                            int arity,
                            Scriptable scope)

Method Detail

### initFunction

    public void initFunction(java.lang.String name,
                             Scriptable scope)

### hasTag

    public final boolean hasTag(java.lang.Object tag)

### methodId

    public final int methodId()

### markAsConstructor

    public final void markAsConstructor(Scriptable prototypeProperty)

### addAsProperty

    public final void addAsProperty(Scriptable target)

### exportAsScopeProperty

    public void exportAsScopeProperty()

### getPrototype

    public Scriptable getPrototype()

  Description copied from class: `ScriptableObject`
  Returns the prototype of the object.

  Specified by:
    `getPrototype` in interface `Scriptable`
  Overrides:
    `getPrototype` in class `ScriptableObject`
  Returns:
    the prototype

### call

    public java.lang.Object call(Context cx,
                                 Scriptable scope,
                                 Scriptable thisObj,
                                 java.lang.Object[] args)

  Description copied from class: `BaseFunction`
  Should be overridden.

  Specified by:
    `call` in interface `Callable`
  Specified by:
    `call` in interface `Function`
  Overrides:
    `call` in class `BaseFunction`
  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

### createObject

    public Scriptable createObject(Context cx,
                                   Scriptable scope)

  Description copied from class: `BaseFunction`
  Creates new script object. The default implementation of `BaseFunction.construct(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.Object[])` uses the method to to get the value for `thisObj` argument when invoking `BaseFunction.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])`. The methos is allowed to return `null` to indicate that `BaseFunction.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])` will create a new object itself. In this case `BaseFunction.construct(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.Object[])` will set scope and prototype on the result `BaseFunction.call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])` unless they are already set.

  Overrides:
    `createObject` in class `BaseFunction`

### getArity

    public int getArity()

  Overrides:
    `getArity` in class `BaseFunction`

### getLength

    public int getLength()

  Overrides:
    `getLength` in class `BaseFunction`

### getFunctionName

    public java.lang.String getFunctionName()

  Overrides:
    `getFunctionName` in class `BaseFunction`

### unknown

    public final java.lang.RuntimeException unknown()