org.mozilla.javascript
Class IdFunctionObject

java.lang.Object
  extended by org.mozilla.javascript.ScriptableObject
      extended by org.mozilla.javascript.IdScriptableObject
          extended by org.mozilla.javascript.BaseFunction
              extended by 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, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, 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, setInstanceIdAttributes
 
Methods inherited from class org.mozilla.javascript.ScriptableObject
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, 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, sameValue, 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()