From 89bda83e0570ab87c6e449f5955613d5385e90b3 Mon Sep 17 00:00:00 2001 From: "alexanders@b2ef00c0-3703-41da-baef-cfe82387ac0c" Date: Wed, 3 Feb 2010 00:50:41 +0000 Subject: removed obsolete svn folder from hg tree --HG-- extra : convert_revision : svn%3Ab2ef00c0-3703-41da-baef-cfe82387ac0c/trunk%408 --- .../org/mozilla/javascript/ScriptableObject.html | 2604 ++++++++++++++++++++ 1 file changed, 2604 insertions(+) create mode 100644 infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html (limited to 'infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html') diff --git a/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html b/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html new file mode 100644 index 0000000..fce83d6 --- /dev/null +++ b/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html @@ -0,0 +1,2604 @@ + + + + + + +ScriptableObject (Rhino) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.mozilla.javascript +
+Class ScriptableObject

+
+java.lang.Object
+  extended by org.mozilla.javascript.ScriptableObject
+
+
+
All Implemented Interfaces:
java.io.Serializable, org.mozilla.javascript.ConstProperties, org.mozilla.javascript.debug.DebuggableObject, Scriptable
+
+
+
Direct Known Subclasses:
org.mozilla.javascript.IdScriptableObject
+
+
+
+
public abstract class ScriptableObject
extends java.lang.Object
implements Scriptable, java.io.Serializable, org.mozilla.javascript.debug.DebuggableObject, org.mozilla.javascript.ConstProperties
+ + +

+This is the default implementation of the Scriptable interface. This + class provides convenient default behavior that makes it easier to + define host objects. +

+ Various properties and methods of JavaScript objects can be conveniently + defined using methods of ScriptableObject. +

+ Classes extending ScriptableObject must define the getClassName method. +

+ +

+

+
Author:
+
Norris Boyd
+
See Also:
Scriptable, +Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static intCONST + +
+           
+static intDONTENUM + +
+          Property attribute indicating property is not enumerated.
+static intEMPTY + +
+          The empty property attribute.
+static intPERMANENT + +
+          Property attribute indicating property cannot be deleted.
+static intREADONLY + +
+          Property attribute indicating assignment to this property is ignored.
+static intUNINITIALIZED_CONST + +
+          Property attribute indicating that this is a const property that has not + been assigned yet.
+ + + + + + + +
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
+  + + + + + + + + + + + + + +
+Constructor Summary
ScriptableObject() + +
+           
ScriptableObject(Scriptable scope, + Scriptable prototype) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ java.lang.ObjectassociateValue(java.lang.Object key, + java.lang.Object value) + +
+          Associate arbitrary application-specific value with this object.
+ booleanavoidObjectDetection() + +
+          Emulate the SpiderMonkey (and Firefox) feature of allowing + custom objects to avoid detection by normal "object detection" + code patterns.
+static java.lang.ObjectcallMethod(Context cx, + Scriptable obj, + java.lang.String methodName, + java.lang.Object[] args) + +
+          Call a method of an object.
+static java.lang.ObjectcallMethod(Scriptable obj, + java.lang.String methodName, + java.lang.Object[] args) + +
+          Call a method of an object.
+static voiddefineClass(Scriptable scope, + java.lang.Class clazz) + +
+          Defines JavaScript objects from a Java class that implements Scriptable.
+static voiddefineClass(Scriptable scope, + java.lang.Class clazz, + boolean sealed) + +
+          Defines JavaScript objects from a Java class, optionally + allowing sealing.
+static java.lang.StringdefineClass(Scriptable scope, + java.lang.Class clazz, + boolean sealed, + boolean mapInheritance) + +
+          Defines JavaScript objects from a Java class, optionally + allowing sealing and mapping of Java inheritance to JavaScript + prototype-based inheritance.
+ voiddefineConst(java.lang.String name, + Scriptable start) + +
+          Reserves a definition spot for a const.
+static voiddefineConstProperty(Scriptable destination, + java.lang.String propertyName) + +
+          Utility method to add properties to arbitrary Scriptable object.
+ voiddefineFunctionProperties(java.lang.String[] names, + java.lang.Class clazz, + int attributes) + +
+          Search for names in a class, adding the resulting methods + as properties.
+static voiddefineProperty(Scriptable destination, + java.lang.String propertyName, + java.lang.Object value, + int attributes) + +
+          Utility method to add properties to arbitrary Scriptable object.
+ voiddefineProperty(java.lang.String propertyName, + java.lang.Class clazz, + int attributes) + +
+          Define a JavaScript property with getter and setter side effects.
+ voiddefineProperty(java.lang.String propertyName, + java.lang.Object value, + int attributes) + +
+          Define a JavaScript property.
+ voiddefineProperty(java.lang.String propertyName, + java.lang.Object delegateTo, + java.lang.reflect.Method getter, + java.lang.reflect.Method setter, + int attributes) + +
+          Define a JavaScript property.
+ voiddelete(int index) + +
+          Removes the indexed property from the object.
+ voiddelete(java.lang.String name) + +
+          Removes a named property from the object.
+static booleandeleteProperty(Scriptable obj, + int index) + +
+          Removes the property from an object or its prototype chain.
+static booleandeleteProperty(Scriptable obj, + java.lang.String name) + +
+          Removes the property from an object or its prototype chain.
+protected  java.lang.ObjectequivalentValues(java.lang.Object value) + +
+          Custom == operator.
+ java.lang.Objectget(int index, + Scriptable start) + +
+          Returns the value of the indexed property or NOT_FOUND.
+ java.lang.Objectget(java.lang.String name, + Scriptable start) + +
+          Returns the value of the named property or NOT_FOUND.
+ java.lang.Object[]getAllIds() + +
+          Returns an array of ids for the properties of the object.
+ java.lang.ObjectgetAssociatedValue(java.lang.Object key) + +
+          Get arbitrary application-specific value associated with this object.
+ intgetAttributes(int index) + +
+          Get the attributes of an indexed property.
+ intgetAttributes(int index, + Scriptable start) + +
+          Deprecated. Use getAttributes(int index). The engine always + ignored the start argument.
+ intgetAttributes(java.lang.String name) + +
+          Get the attributes of a named property.
+ intgetAttributes(java.lang.String name, + Scriptable start) + +
+          Deprecated. Use getAttributes(String name). The engine always + ignored the start argument.
+abstract  java.lang.StringgetClassName() + +
+          Return the name of the class.
+static ScriptablegetClassPrototype(Scriptable scope, + java.lang.String className) + +
+          Get the prototype for the named class.
+ java.lang.ObjectgetDefaultValue(java.lang.Class typeHint) + +
+          Implements the [[DefaultValue]] internal method.
+static java.lang.ObjectgetDefaultValue(Scriptable object, + java.lang.Class typeHint) + +
+           
+static ScriptablegetFunctionPrototype(Scriptable scope) + +
+          Get the Function.prototype property.
+ java.lang.ObjectgetGetterOrSetter(java.lang.String name, + int index, + boolean isSetter) + +
+          Get the getter or setter for a given property.
+ java.lang.Object[]getIds() + +
+          Returns an array of ids for the properties of the object.
+static ScriptablegetObjectPrototype(Scriptable scope) + +
+          Get the Object.prototype property.
+ ScriptablegetParentScope() + +
+          Returns the parent (enclosing) scope of the object.
+static java.lang.ObjectgetProperty(Scriptable obj, + int index) + +
+          Gets an indexed property from an object or any object in its prototype chain.
+static java.lang.ObjectgetProperty(Scriptable obj, + java.lang.String name) + +
+          Gets a named property from an object or any object in its prototype chain.
+static java.lang.Object[]getPropertyIds(Scriptable obj) + +
+          Returns an array of all ids from an object and its prototypes.
+ ScriptablegetPrototype() + +
+          Returns the prototype of the object.
+static ScriptablegetTopLevelScope(Scriptable obj) + +
+          Get the global scope.
+static java.lang.ObjectgetTopScopeValue(Scriptable scope, + java.lang.Object key) + +
+          Get arbitrary application-specific value associated with the top scope + of the given scope.
+ booleanhas(int index, + Scriptable start) + +
+          Returns true if the property index is defined.
+ booleanhas(java.lang.String name, + Scriptable start) + +
+          Returns true if the named property is defined.
+ booleanhasInstance(Scriptable instance) + +
+          Implements the instanceof operator.
+static booleanhasProperty(Scriptable obj, + int index) + +
+          Returns whether an indexed property is defined in an object or any object + in its prototype chain.
+static booleanhasProperty(Scriptable obj, + java.lang.String name) + +
+          Returns whether a named property is defined in an object or any object + in its prototype chain.
+ booleanisConst(java.lang.String name) + +
+          Returns true if the named property is defined as a const on this object.
+protected  booleanisGetterOrSetter(java.lang.String name, + int index, + boolean setter) + +
+          Returns whether a property is a getter or a setter
+ booleanisSealed() + +
+          Return true if this object is sealed.
+ voidput(int index, + Scriptable start, + java.lang.Object value) + +
+          Sets the value of the indexed property, creating it if need be.
+ voidput(java.lang.String name, + Scriptable start, + java.lang.Object value) + +
+          Sets the value of the named property, creating it if need be.
+ voidputConst(java.lang.String name, + Scriptable start, + java.lang.Object value) + +
+          Sets the value of the named const property, creating it if need be.
+static voidputConstProperty(Scriptable obj, + java.lang.String name, + java.lang.Object value) + +
+          Puts a named property in an object or in an object in its prototype chain.
+static voidputProperty(Scriptable obj, + int index, + java.lang.Object value) + +
+          Puts an indexed property in an object or in an object in its prototype chain.
+static voidputProperty(Scriptable obj, + java.lang.String name, + java.lang.Object value) + +
+          Puts a named property in an object or in an object in its prototype chain.
+static voidredefineProperty(Scriptable obj, + java.lang.String name, + boolean isConst) + +
+          If hasProperty(obj, name) would return true, then if the property that + was found is compatible with the new property, this method just returns.
+ voidsealObject() + +
+          Seal this object.
+ voidsetAttributes(int index, + int attributes) + +
+          Set the attributes of an indexed property.
+ voidsetAttributes(int index, + Scriptable start, + int attributes) + +
+          Deprecated. Use setAttributes(int index, int attributes). + The engine always ignored the start argument.
+ voidsetAttributes(java.lang.String name, + int attributes) + +
+          Set the attributes of a named property.
+ voidsetAttributes(java.lang.String name, + Scriptable start, + int attributes) + +
+          Deprecated. Use setAttributes(String name, int attributes). + The engine always ignored the start argument.
+ voidsetGetterOrSetter(java.lang.String name, + int index, + Callable getterOrSeter, + boolean isSetter) + +
+          XXX: write docs.
+ voidsetParentScope(Scriptable m) + +
+          Sets the parent (enclosing) scope of the object.
+ voidsetPrototype(Scriptable m) + +
+          Sets the prototype of the object.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+EMPTY

+
+public static final int EMPTY
+
+
The empty property attribute. + + Used by getAttributes() and setAttributes(). +

+

+
See Also:
getAttributes(String), +setAttributes(String, int), +Constant Field Values
+
+
+ +

+READONLY

+
+public static final int READONLY
+
+
Property attribute indicating assignment to this property is ignored. +

+

+
See Also:
#put(String, Scriptable, Object), +getAttributes(String), +setAttributes(String, int), +Constant Field Values
+
+
+ +

+DONTENUM

+
+public static final int DONTENUM
+
+
Property attribute indicating property is not enumerated. + + Only enumerated properties will be returned by getIds(). +

+

+
See Also:
getIds(), +getAttributes(String), +setAttributes(String, int), +Constant Field Values
+
+
+ +

+PERMANENT

+
+public static final int PERMANENT
+
+
Property attribute indicating property cannot be deleted. +

+

+
See Also:
delete(String), +getAttributes(String), +setAttributes(String, int), +Constant Field Values
+
+
+ +

+UNINITIALIZED_CONST

+
+public static final int UNINITIALIZED_CONST
+
+
Property attribute indicating that this is a const property that has not + been assigned yet. The first 'const' assignment to the property will + clear this bit. +

+

+
See Also:
Constant Field Values
+
+
+ +

+CONST

+
+public static final int CONST
+
+
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+ScriptableObject

+
+public ScriptableObject()
+
+
+
+ +

+ScriptableObject

+
+public ScriptableObject(Scriptable scope,
+                        Scriptable prototype)
+
+
+ + + + + + + + +
+Method Detail
+ +

+getClassName

+
+public abstract java.lang.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
+
+
+
+
+
+
+ +

+has

+
+public boolean has(java.lang.String name,
+                   Scriptable start)
+
+
Returns true if the named property is defined. +

+

+
Specified by:
has in interface Scriptable
+
+
+
Parameters:
name - the name of the property
start - the object in which the lookup began +
Returns:
true if and only if the property was found in the object
See Also:
Scriptable.get(String, Scriptable), +getProperty(Scriptable, String)
+
+
+
+ +

+has

+
+public boolean has(int index,
+                   Scriptable start)
+
+
Returns true if the property index is defined. +

+

+
Specified by:
has in interface Scriptable
+
+
+
Parameters:
index - the numeric index for the property
start - the object in which the lookup began +
Returns:
true if and only if the property was found in the object
See Also:
Scriptable.get(int, Scriptable), +getProperty(Scriptable, int)
+
+
+
+ +

+get

+
+public java.lang.Object get(java.lang.String name,
+                            Scriptable start)
+
+
Returns the value of the named property or NOT_FOUND. + + If the property was created using defineProperty, the + appropriate getter method is called. +

+

+
Specified by:
get in interface Scriptable
+
+
+
Parameters:
name - the name of the property
start - the object in which the lookup began +
Returns:
the value of the property (may be null), or NOT_FOUND
See Also:
Context.getUndefinedValue()
+
+
+
+ +

+get

+
+public java.lang.Object get(int index,
+                            Scriptable start)
+
+
Returns the value of the indexed property or NOT_FOUND. +

+

+
Specified by:
get in interface Scriptable
+
+
+
Parameters:
index - the numeric index for the property
start - the object in which the lookup began +
Returns:
the value of the property (may be null), or NOT_FOUND
See Also:
Scriptable.get(String,Scriptable)
+
+
+
+ +

+put

+
+public void put(java.lang.String name,
+                Scriptable start,
+                java.lang.Object value)
+
+
Sets the value of the named property, creating it if need be. + + If the property was created using defineProperty, the + appropriate setter method is called.

+ + If the property's attributes include READONLY, no action is + taken. + This method will actually set the property in the start + object. +

+

+
Specified by:
put in interface Scriptable
+
+
+
Parameters:
name - the name of the property
start - the object whose property is being set
value - value to set the property to
See Also:
Scriptable.has(String, Scriptable), +Scriptable.get(String, Scriptable), +putProperty(Scriptable, String, Object), +Context.toObject(Object, Scriptable)
+
+
+
+ +

+put

+
+public void put(int index,
+                Scriptable start,
+                java.lang.Object value)
+
+
Sets the value of the indexed property, creating it if need be. +

+

+
Specified by:
put in interface Scriptable
+
+
+
Parameters:
index - the numeric index for the property
start - the object whose property is being set
value - value to set the property to
See Also:
Scriptable.has(int, Scriptable), +Scriptable.get(int, Scriptable), +putProperty(Scriptable, int, Object), +Context.toObject(Object, Scriptable)
+
+
+
+ +

+delete

+
+public void delete(java.lang.String name)
+
+
Removes a named property from the object. + + If the property is not found, or it has the PERMANENT attribute, + no action is taken. +

+

+
Specified by:
delete in interface Scriptable
+
+
+
Parameters:
name - the name of the property
See Also:
Scriptable.get(String, Scriptable), +deleteProperty(Scriptable, String)
+
+
+
+ +

+delete

+
+public void delete(int index)
+
+
Removes the indexed property from the object. + + If the property is not found, or it has the PERMANENT attribute, + no action is taken. +

+

+
Specified by:
delete in interface Scriptable
+
+
+
Parameters:
index - the numeric index for the property
See Also:
Scriptable.get(int, Scriptable), +deleteProperty(Scriptable, int)
+
+
+
+ +

+putConst

+
+public void putConst(java.lang.String name,
+                     Scriptable start,
+                     java.lang.Object value)
+
+
Sets the value of the named const property, creating it if need be. + + If the property was created using defineProperty, the + appropriate setter method is called.

+ + If the property's attributes include READONLY, no action is + taken. + This method will actually set the property in the start + object. +

+

+
Specified by:
putConst in interface org.mozilla.javascript.ConstProperties
+
+
+
Parameters:
name - the name of the property
start - the object whose property is being set
value - value to set the property to
See Also:
Scriptable.has(String, Scriptable), +Scriptable.get(String, Scriptable), +putProperty(Scriptable, String, Object), +Context.toObject(Object, Scriptable)
+
+
+
+ +

+defineConst

+
+public void defineConst(java.lang.String name,
+                        Scriptable start)
+
+
Description copied from interface: org.mozilla.javascript.ConstProperties
+
Reserves a definition spot for a const. This will set up a definition + of the const property, but set its value to undefined. The semantics of + the start parameter is the same as for putConst. +

+

+
Specified by:
defineConst in interface org.mozilla.javascript.ConstProperties
+
+
+
Parameters:
name - The name of the property.
start - The object whose property is being reserved.
+
+
+
+ +

+isConst

+
+public boolean isConst(java.lang.String name)
+
+
Returns true if the named property is defined as a const on this object. +

+

+
Specified by:
isConst in interface org.mozilla.javascript.ConstProperties
+
+
+
Parameters:
name - +
Returns:
true if the named property is defined as a const, false + otherwise.
+
+
+
+ +

+getAttributes

+
+public final int getAttributes(java.lang.String name,
+                               Scriptable start)
+
+
Deprecated. Use getAttributes(String name). The engine always + ignored the start argument. +

+

+
+
+
+
+
+
+
+ +

+getAttributes

+
+public final int getAttributes(int index,
+                               Scriptable start)
+
+
Deprecated. Use getAttributes(int index). The engine always + ignored the start argument. +

+

+
+
+
+
+
+
+
+ +

+setAttributes

+
+public final void setAttributes(java.lang.String name,
+                                Scriptable start,
+                                int attributes)
+
+
Deprecated. Use setAttributes(String name, int attributes). + The engine always ignored the start argument. +

+

+
+
+
+
+
+
+
+ +

+setAttributes

+
+public void setAttributes(int index,
+                          Scriptable start,
+                          int attributes)
+
+
Deprecated. Use setAttributes(int index, int attributes). + The engine always ignored the start argument. +

+

+
+
+
+
+
+
+
+ +

+getAttributes

+
+public int getAttributes(java.lang.String name)
+
+
Get the attributes of a named property. + + The property is specified by name + as defined for has.

+

+

+
+
+
+
Parameters:
name - the identifier for the property +
Returns:
the bitset of attributes +
Throws: +
EvaluatorException - if the named property is not found
See Also:
has(String, Scriptable), +READONLY, +DONTENUM, +PERMANENT, +EMPTY
+
+
+
+ +

+getAttributes

+
+public int getAttributes(int index)
+
+
Get the attributes of an indexed property. +

+

+
+
+
+
Parameters:
index - the numeric index for the property +
Returns:
the bitset of attributes +
Throws: +
EvaluatorException - if the named property is not found + is not found
See Also:
has(String, Scriptable), +READONLY, +DONTENUM, +PERMANENT, +EMPTY
+
+
+
+ +

+setAttributes

+
+public void setAttributes(java.lang.String name,
+                          int attributes)
+
+
Set the attributes of a named property. + + The property is specified by name + as defined for has.

+ + The possible attributes are READONLY, DONTENUM, + and PERMANENT. Combinations of attributes + are expressed by the bitwise OR of attributes. + EMPTY is the state of no attributes set. Any unused + bits are reserved for future use. +

+

+
+
+
+
Parameters:
name - the name of the property
attributes - the bitset of attributes +
Throws: +
EvaluatorException - if the named property is not found
See Also:
Scriptable.has(String, Scriptable), +READONLY, +DONTENUM, +PERMANENT, +EMPTY
+
+
+
+ +

+setAttributes

+
+public void setAttributes(int index,
+                          int attributes)
+
+
Set the attributes of an indexed property. +

+

+
+
+
+
Parameters:
index - the numeric index for the property
attributes - the bitset of attributes +
Throws: +
EvaluatorException - if the named property is not found
See Also:
Scriptable.has(String, Scriptable), +READONLY, +DONTENUM, +PERMANENT, +EMPTY
+
+
+
+ +

+setGetterOrSetter

+
+public void setGetterOrSetter(java.lang.String name,
+                              int index,
+                              Callable getterOrSeter,
+                              boolean isSetter)
+
+
XXX: write docs. +

+

+
+
+
+
+
+
+
+ +

+getGetterOrSetter

+
+public java.lang.Object getGetterOrSetter(java.lang.String name,
+                                          int index,
+                                          boolean isSetter)
+
+
Get the getter or setter for a given property. Used by __lookupGetter__ + and __lookupSetter__. +

+

+
+
+
+
Parameters:
name - Name of the object. If nonnull, index must be 0.
index - Index of the object. If nonzero, name must be null.
isSetter - If true, return the setter, otherwise return the getter. +
Returns:
Null if the property does not exist. Otherwise returns either + the getter or the setter for the property, depending on + the value of isSetter (may be undefined if unset). +
Throws: +
java.lang.IllegalArgumentException - if both name and index are nonnull + and nonzero respectively.
+
+
+
+ +

+isGetterOrSetter

+
+protected boolean isGetterOrSetter(java.lang.String name,
+                                   int index,
+                                   boolean setter)
+
+
Returns whether a property is a getter or a setter +

+

+
+
+
+
Parameters:
name - property name
index - property index
setter - true to check for a setter, false for a getter +
Returns:
whether the property is a getter or a setter
+
+
+
+ +

+getPrototype

+
+public Scriptable getPrototype()
+
+
Returns the prototype of the object. +

+

+
Specified by:
getPrototype in interface Scriptable
+
+
+ +
Returns:
the prototype
+
+
+
+ +

+setPrototype

+
+public void setPrototype(Scriptable m)
+
+
Sets the prototype of the object. +

+

+
Specified by:
setPrototype in interface Scriptable
+
+
+
Parameters:
m - the prototype to set
+
+
+
+ +

+getParentScope

+
+public Scriptable getParentScope()
+
+
Returns the parent (enclosing) scope of the object. +

+

+
Specified by:
getParentScope in interface Scriptable
+
+
+ +
Returns:
the parent scope
+
+
+
+ +

+setParentScope

+
+public void setParentScope(Scriptable m)
+
+
Sets the parent (enclosing) scope of the object. +

+

+
Specified by:
setParentScope in interface Scriptable
+
+
+
Parameters:
m - the parent scope to set
+
+
+
+ +

+getIds

+
+public java.lang.Object[] getIds()
+
+
Returns an array of ids for the properties of the object. + +

Any properties with the attribute DONTENUM are not listed.

+

+

+
Specified by:
getIds in interface Scriptable
+
+
+ +
Returns:
an array of java.lang.Objects with an entry for every + listed property. Properties accessed via an integer index will + have a corresponding + Integer entry in the returned array. Properties accessed by + a String will have a String entry in the returned array.
+
+
+
+ +

+getAllIds

+
+public java.lang.Object[] getAllIds()
+
+
Returns an array of ids for the properties of the object. + +

All properties, even those with attribute DONTENUM, are listed.

+

+

+
Specified by:
getAllIds in interface org.mozilla.javascript.debug.DebuggableObject
+
+
+ +
Returns:
an array of java.lang.Objects with an entry for every + listed property. Properties accessed via an integer index will + have a corresponding + Integer entry in the returned array. Properties accessed by + a String will have a String entry in the returned array.
+
+
+
+ +

+getDefaultValue

+
+public java.lang.Object getDefaultValue(java.lang.Class typeHint)
+
+
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
+
+
+
Parameters:
typeHint - the type hint +
Returns:
the default value for the object + + See ECMA 8.6.2.6.
+
+
+
+ +

+getDefaultValue

+
+public static java.lang.Object getDefaultValue(Scriptable object,
+                                               java.lang.Class typeHint)
+
+
+
+
+
+
+
+
+
+ +

+hasInstance

+
+public boolean hasInstance(Scriptable instance)
+
+
Implements the instanceof operator. + +

This operator has been proposed to ECMA. +

+

+
Specified by:
hasInstance in interface Scriptable
+
+
+
Parameters:
instance - The value that appeared on the LHS of the instanceof + operator +
Returns:
true if "this" appears in value's prototype chain
+
+
+
+ +

+avoidObjectDetection

+
+public boolean avoidObjectDetection()
+
+
Emulate the SpiderMonkey (and Firefox) feature of allowing + custom objects to avoid detection by normal "object detection" + code patterns. This is used to implement document.all. + See https://bugzilla.mozilla.org/show_bug.cgi?id=412247. + This is an analog to JOF_DETECTING from SpiderMonkey; see + https://bugzilla.mozilla.org/show_bug.cgi?id=248549. + Other than this special case, embeddings should return false. +

+

+
+
+
+ +
Returns:
true if this object should avoid object detection
Since:
+
1.7R1
+
+
+
+
+ +

+equivalentValues

+
+protected java.lang.Object equivalentValues(java.lang.Object value)
+
+
Custom == operator. + Must return Scriptable.NOT_FOUND if this object does not + have custom equality operator for the given value, + Boolean.TRUE if this object is equivalent to value, + Boolean.FALSE if this object is not equivalent to + value. +

+ The default implementation returns Boolean.TRUE + if this == value or Scriptable.NOT_FOUND otherwise. + It indicates that by default custom equality is available only if + value is this in which case true is returned. +

+

+
+
+
+
+
+
+
+ +

+defineClass

+
+public static void defineClass(Scriptable scope,
+                               java.lang.Class clazz)
+                        throws java.lang.IllegalAccessException,
+                               java.lang.InstantiationException,
+                               java.lang.reflect.InvocationTargetException
+
+
Defines JavaScript objects from a Java class that implements Scriptable. + + If the given class has a method +
+ static void init(Context cx, Scriptable scope, boolean sealed);
+ + or its compatibility form +
+ static void init(Scriptable scope);
+ + then it is invoked and no further initialization is done.

+ + However, if no such a method is found, then the class's constructors and + methods are used to initialize a class in the following manner.

+ + First, the zero-parameter constructor of the class is called to + create the prototype. If no such constructor exists, + a EvaluatorException is thrown.

+ + Next, all methods are scanned for special prefixes that indicate that they + have special meaning for defining JavaScript objects. + These special prefixes are +

    +
  • jsFunction_ for a JavaScript function +
  • jsStaticFunction_ for a JavaScript function that + is a property of the constructor +
  • jsGet_ for a getter of a JavaScript property +
  • jsSet_ for a setter of a JavaScript property +
  • jsConstructor for a JavaScript function that + is the constructor +

+ + If the method's name begins with "jsFunction_", a JavaScript function + is created with a name formed from the rest of the Java method name + following "jsFunction_". So a Java method named "jsFunction_foo" will + define a JavaScript method "foo". Calling this JavaScript function + will cause the Java method to be called. The parameters of the method + must be of number and types as defined by the FunctionObject class. + The JavaScript function is then added as a property + of the prototype.

+ + If the method's name begins with "jsStaticFunction_", it is handled + similarly except that the resulting JavaScript function is added as a + property of the constructor object. The Java method must be static. + + If the method's name begins with "jsGet_" or "jsSet_", the method is + considered to define a property. Accesses to the defined property + will result in calls to these getter and setter methods. If no + setter is defined, the property is defined as READONLY.

+ + If the method's name is "jsConstructor", the method is + considered to define the body of the constructor. Only one + method of this name may be defined. + If no method is found that can serve as constructor, a Java + constructor will be selected to serve as the JavaScript + constructor in the following manner. If the class has only one + Java constructor, that constructor is used to define + the JavaScript constructor. If the the class has two constructors, + one must be the zero-argument constructor (otherwise an + EvaluatorException would have already been thrown + when the prototype was to be created). In this case + the Java constructor with one or more parameters will be used + to define the JavaScript constructor. If the class has three + or more constructors, an EvaluatorException + will be thrown.

+ + Finally, if there is a method +

+ static void finishInit(Scriptable scope, FunctionObject constructor,
+                        Scriptable prototype)
+ + it will be called to finish any initialization. The scope + argument will be passed, along with the newly created constructor and + the newly created prototype.

+

+

+
+
+
+
Parameters:
scope - The scope in which to define the constructor.
clazz - The Java class to use to define the JavaScript objects + and properties. +
Throws: +
java.lang.IllegalAccessException - if access is not available + to a reflected class member +
java.lang.InstantiationException - if unable to instantiate + the named class +
java.lang.reflect.InvocationTargetException - if an exception is thrown + during execution of methods of the named class
See Also:
Function, +FunctionObject, +READONLY, +#defineProperty(String, Class, int)
+
+
+
+ +

+defineClass

+
+public static void defineClass(Scriptable scope,
+                               java.lang.Class clazz,
+                               boolean sealed)
+                        throws java.lang.IllegalAccessException,
+                               java.lang.InstantiationException,
+                               java.lang.reflect.InvocationTargetException
+
+
Defines JavaScript objects from a Java class, optionally + allowing sealing. + + Similar to defineClass(Scriptable scope, Class clazz) + except that sealing is allowed. An object that is sealed cannot have + properties added or removed. Note that sealing is not allowed in + the current ECMA/ISO language specification, but is likely for + the next version. +

+

+
+
+
+
Parameters:
scope - The scope in which to define the constructor.
clazz - The Java class to use to define the JavaScript objects + and properties. The class must implement Scriptable.
sealed - Whether or not to create sealed standard objects that + cannot be modified. +
Throws: +
java.lang.IllegalAccessException - if access is not available + to a reflected class member +
java.lang.InstantiationException - if unable to instantiate + the named class +
java.lang.reflect.InvocationTargetException - if an exception is thrown + during execution of methods of the named class
Since:
+
1.4R3
+
+
+
+
+ +

+defineClass

+
+public static java.lang.String defineClass(Scriptable scope,
+                                           java.lang.Class clazz,
+                                           boolean sealed,
+                                           boolean mapInheritance)
+                                    throws java.lang.IllegalAccessException,
+                                           java.lang.InstantiationException,
+                                           java.lang.reflect.InvocationTargetException
+
+
Defines JavaScript objects from a Java class, optionally + allowing sealing and mapping of Java inheritance to JavaScript + prototype-based inheritance. + + Similar to defineClass(Scriptable scope, Class clazz) + except that sealing and inheritance mapping are allowed. An object + that is sealed cannot have properties added or removed. Note that + sealing is not allowed in the current ECMA/ISO language specification, + but is likely for the next version. +

+

+
+
+
+
Parameters:
scope - The scope in which to define the constructor.
clazz - The Java class to use to define the JavaScript objects + and properties. The class must implement Scriptable.
sealed - Whether or not to create sealed standard objects that + cannot be modified.
mapInheritance - Whether or not to map Java inheritance to + JavaScript prototype-based inheritance. +
Returns:
the class name for the prototype of the specified class +
Throws: +
java.lang.IllegalAccessException - if access is not available + to a reflected class member +
java.lang.InstantiationException - if unable to instantiate + the named class +
java.lang.reflect.InvocationTargetException - if an exception is thrown + during execution of methods of the named class
Since:
+
1.6R2
+
+
+
+
+ +

+defineProperty

+
+public void defineProperty(java.lang.String propertyName,
+                           java.lang.Object value,
+                           int attributes)
+
+
Define a JavaScript property. + + Creates the property with an initial value and sets its attributes. +

+

+
+
+
+
Parameters:
propertyName - the name of the property to define.
value - the initial value of the property
attributes - the attributes of the JavaScript property
See Also:
Scriptable.put(String, Scriptable, Object)
+
+
+
+ +

+defineProperty

+
+public static void defineProperty(Scriptable destination,
+                                  java.lang.String propertyName,
+                                  java.lang.Object value,
+                                  int attributes)
+
+
Utility method to add properties to arbitrary Scriptable object. + If destination is instance of ScriptableObject, calls + defineProperty there, otherwise calls put in destination + ignoring attributes +

+

+
+
+
+
+
+
+
+ +

+defineConstProperty

+
+public static void defineConstProperty(Scriptable destination,
+                                       java.lang.String propertyName)
+
+
Utility method to add properties to arbitrary Scriptable object. + If destination is instance of ScriptableObject, calls + defineProperty there, otherwise calls put in destination + ignoring attributes +

+

+
+
+
+
+
+
+
+ +

+defineProperty

+
+public void defineProperty(java.lang.String propertyName,
+                           java.lang.Class clazz,
+                           int attributes)
+
+
Define a JavaScript property with getter and setter side effects. + + If the setter is not found, the attribute READONLY is added to + the given attributes.

+ + The getter must be a method with zero parameters, and the setter, if + found, must be a method with one parameter.

+

+

+
+
+
+
Parameters:
propertyName - the name of the property to define. This name + also affects the name of the setter and getter + to search for. If the propertyId is "foo", then + clazz will be searched for "getFoo" + and "setFoo" methods.
clazz - the Java class to search for the getter and setter
attributes - the attributes of the JavaScript property
See Also:
Scriptable.put(String, Scriptable, Object)
+
+
+
+ +

+defineProperty

+
+public void defineProperty(java.lang.String propertyName,
+                           java.lang.Object delegateTo,
+                           java.lang.reflect.Method getter,
+                           java.lang.reflect.Method setter,
+                           int attributes)
+
+
Define a JavaScript property. + + Use this method only if you wish to define getters and setters for + a given property in a ScriptableObject. To create a property without + special getter or setter side effects, use + defineProperty(String,int). + + If setter is null, the attribute READONLY is added to + the given attributes.

+ + Several forms of getters or setters are allowed. In all cases the + type of the value parameter can be any one of the following types: + Object, String, boolean, Scriptable, byte, short, int, long, float, + or double. The runtime will perform appropriate conversions based + upon the type of the parameter (see description in FunctionObject). + The first forms are nonstatic methods of the class referred to + by 'this': +

+ Object getFoo();
+ void setFoo(SomeType value);
+ Next are static methods that may be of any class; the object whose + property is being accessed is passed in as an extra argument: +
+ static Object getFoo(Scriptable obj);
+ static void setFoo(Scriptable obj, SomeType value);
+ Finally, it is possible to delegate to another object entirely using + the delegateTo parameter. In this case the methods are + nonstatic methods of the class delegated to, and the object whose + property is being accessed is passed in as an extra argument: +
+ Object getFoo(Scriptable obj);
+ void setFoo(Scriptable obj, SomeType value);
+

+

+
+
+
+
Parameters:
propertyName - the name of the property to define.
delegateTo - an object to call the getter and setter methods on, + or null, depending on the form used above.
getter - the method to invoke to get the value of the property
setter - the method to invoke to set the value of the property
attributes - the attributes of the JavaScript property
+
+
+
+ +

+defineFunctionProperties

+
+public void defineFunctionProperties(java.lang.String[] names,
+                                     java.lang.Class clazz,
+                                     int attributes)
+
+
Search for names in a class, adding the resulting methods + as properties. + +

Uses reflection to find the methods of the given names. Then + FunctionObjects are constructed from the methods found, and + are added to this object as properties with the given names. +

+

+
+
+
+
Parameters:
names - the names of the Methods to add as function properties
clazz - the class to search for the Methods
attributes - the attributes of the new properties
See Also:
FunctionObject
+
+
+
+ +

+getObjectPrototype

+
+public static Scriptable getObjectPrototype(Scriptable scope)
+
+
Get the Object.prototype property. + See ECMA 15.2.4. +

+

+
+
+
+
+
+
+
+ +

+getFunctionPrototype

+
+public static Scriptable getFunctionPrototype(Scriptable scope)
+
+
Get the Function.prototype property. + See ECMA 15.3.4. +

+

+
+
+
+
+
+
+
+ +

+getClassPrototype

+
+public static Scriptable getClassPrototype(Scriptable scope,
+                                           java.lang.String className)
+
+
Get the prototype for the named class. + + For example, getClassPrototype(s, "Date") will first + walk up the parent chain to find the outermost scope, then will + search that scope for the Date constructor, and then will + return Date.prototype. If any of the lookups fail, or + the prototype is not a JavaScript object, then null will + be returned. +

+

+
+
+
+
Parameters:
scope - an object in the scope chain
className - the name of the constructor +
Returns:
the prototype for the named class, or null if it + cannot be found.
+
+
+
+ +

+getTopLevelScope

+
+public static Scriptable getTopLevelScope(Scriptable obj)
+
+
Get the global scope. + +

Walks the parent scope chain to find an object with a null + parent scope (the global object). +

+

+
+
+
+
Parameters:
obj - a JavaScript object +
Returns:
the corresponding global scope
+
+
+
+ +

+sealObject

+
+public void sealObject()
+
+
Seal this object. + + A sealed object may not have properties added or removed. Once + an object is sealed it may not be unsealed. +

+

+
+
+
+
Since:
+
1.4R3
+
+
+
+
+ +

+isSealed

+
+public final boolean isSealed()
+
+
Return true if this object is sealed. + + It is an error to attempt to add or remove properties to + a sealed object. +

+

+
+
+
+ +
Returns:
true if sealed, false otherwise.
Since:
+
1.4R3
+
+
+
+
+ +

+getProperty

+
+public static java.lang.Object getProperty(Scriptable obj,
+                                           java.lang.String name)
+
+
Gets a named property from an object or any object in its prototype chain. +

+ Searches the prototype chain for a property named name. +

+

+

+
+
+
+
Parameters:
obj - a JavaScript object
name - a property name +
Returns:
the value of a property with name name found in + obj or any object in its prototype chain, or + Scriptable.NOT_FOUND if not found
Since:
+
1.5R2
+
+
+
+
+ +

+getProperty

+
+public static java.lang.Object getProperty(Scriptable obj,
+                                           int index)
+
+
Gets an indexed property from an object or any object in its prototype chain. +

+ Searches the prototype chain for a property with integral index + index. Note that if you wish to look for properties with numerical + but non-integral indicies, you should use getProperty(Scriptable,String) with + the string value of the index. +

+

+

+
+
+
+
Parameters:
obj - a JavaScript object
index - an integral index +
Returns:
the value of a property with index index found in + obj or any object in its prototype chain, or + Scriptable.NOT_FOUND if not found
Since:
+
1.5R2
+
+
+
+
+ +

+hasProperty

+
+public static boolean hasProperty(Scriptable obj,
+                                  java.lang.String name)
+
+
Returns whether a named property is defined in an object or any object + in its prototype chain. +

+ Searches the prototype chain for a property named name. +

+

+

+
+
+
+
Parameters:
obj - a JavaScript object
name - a property name +
Returns:
the true if property was found
Since:
+
1.5R2
+
+
+
+
+ +

+redefineProperty

+
+public static void redefineProperty(Scriptable obj,
+                                    java.lang.String name,
+                                    boolean isConst)
+
+
If hasProperty(obj, name) would return true, then if the property that + was found is compatible with the new property, this method just returns. + If the property is not compatible, then an exception is thrown. + + A property redefinition is incompatible if the first definition was a + const declaration or if this one is. They are compatible only if neither + was const. +

+

+
+
+
+
+
+
+
+ +

+hasProperty

+
+public static boolean hasProperty(Scriptable obj,
+                                  int index)
+
+
Returns whether an indexed property is defined in an object or any object + in its prototype chain. +

+ Searches the prototype chain for a property with index index. +

+

+

+
+
+
+
Parameters:
obj - a JavaScript object
index - a property index +
Returns:
the true if property was found
Since:
+
1.5R2
+
+
+
+
+ +

+putProperty

+
+public static void putProperty(Scriptable obj,
+                               java.lang.String name,
+                               java.lang.Object value)
+
+
Puts a named property in an object or in an object in its prototype chain. +

+ Searches for the named property in the prototype chain. If it is found, + the value of the property in obj is changed through a call + to Scriptable.put(String, Scriptable, Object) on the + prototype passing obj as the start argument. + This allows the prototype to veto the property setting in case the + prototype defines the property with [[ReadOnly]] attribute. If the + property is not found, it is added in obj. +

+

+
+
+
+
Parameters:
obj - a JavaScript object
name - a property name
value - any JavaScript value accepted by Scriptable.put
Since:
+
1.5R2
+
+
+
+
+ +

+putConstProperty

+
+public static void putConstProperty(Scriptable obj,
+                                    java.lang.String name,
+                                    java.lang.Object value)
+
+
Puts a named property in an object or in an object in its prototype chain. +

+ Searches for the named property in the prototype chain. If it is found, + the value of the property in obj is changed through a call + to Scriptable.put(String, Scriptable, Object) on the + prototype passing obj as the start argument. + This allows the prototype to veto the property setting in case the + prototype defines the property with [[ReadOnly]] attribute. If the + property is not found, it is added in obj. +

+

+
+
+
+
Parameters:
obj - a JavaScript object
name - a property name
value - any JavaScript value accepted by Scriptable.put
Since:
+
1.5R2
+
+
+
+
+ +

+putProperty

+
+public static void putProperty(Scriptable obj,
+                               int index,
+                               java.lang.Object value)
+
+
Puts an indexed property in an object or in an object in its prototype chain. +

+ Searches for the indexed property in the prototype chain. If it is found, + the value of the property in obj is changed through a call + to Scriptable.put(int, Scriptable, Object) on the prototype + passing obj as the start argument. This allows + the prototype to veto the property setting in case the prototype defines + the property with [[ReadOnly]] attribute. If the property is not found, + it is added in obj. +

+

+
+
+
+
Parameters:
obj - a JavaScript object
index - a property index
value - any JavaScript value accepted by Scriptable.put
Since:
+
1.5R2
+
+
+
+
+ +

+deleteProperty

+
+public static boolean deleteProperty(Scriptable obj,
+                                     java.lang.String name)
+
+
Removes the property from an object or its prototype chain. +

+ Searches for a property with name in obj or + its prototype chain. If it is found, the object's delete + method is called. +

+

+
+
+
+
Parameters:
obj - a JavaScript object
name - a property name +
Returns:
true if the property doesn't exist or was successfully removed
Since:
+
1.5R2
+
+
+
+
+ +

+deleteProperty

+
+public static boolean deleteProperty(Scriptable obj,
+                                     int index)
+
+
Removes the property from an object or its prototype chain. +

+ Searches for a property with index in obj or + its prototype chain. If it is found, the object's delete + method is called. +

+

+
+
+
+
Parameters:
obj - a JavaScript object
index - a property index +
Returns:
true if the property doesn't exist or was successfully removed
Since:
+
1.5R2
+
+
+
+
+ +

+getPropertyIds

+
+public static java.lang.Object[] getPropertyIds(Scriptable obj)
+
+
Returns an array of all ids from an object and its prototypes. +

+

+

+
+
+
+
Parameters:
obj - a JavaScript object +
Returns:
an array of all ids from all object in the prototype chain. + If a given id occurs multiple times in the prototype chain, + it will occur only once in this list.
Since:
+
1.5R2
+
+
+
+
+ +

+callMethod

+
+public static java.lang.Object callMethod(Scriptable obj,
+                                          java.lang.String methodName,
+                                          java.lang.Object[] args)
+
+
Call a method of an object. +

+

+
+
+
+
Parameters:
obj - the JavaScript object
methodName - the name of the function property
args - the arguments for the call
See Also:
Context.getCurrentContext()
+
+
+
+ +

+callMethod

+
+public static java.lang.Object callMethod(Context cx,
+                                          Scriptable obj,
+                                          java.lang.String methodName,
+                                          java.lang.Object[] args)
+
+
Call a method of an object. +

+

+
+
+
+
Parameters:
cx - the Context object associated with the current thread.
obj - the JavaScript object
methodName - the name of the function property
args - the arguments for the call
+
+
+
+ +

+getAssociatedValue

+
+public final java.lang.Object getAssociatedValue(java.lang.Object key)
+
+
Get arbitrary application-specific value associated with this object. +

+

+
+
+
+
Parameters:
key - key object to select particular value.
See Also:
associateValue(Object key, Object value)
+
+
+
+ +

+getTopScopeValue

+
+public static java.lang.Object getTopScopeValue(Scriptable scope,
+                                                java.lang.Object key)
+
+
Get arbitrary application-specific value associated with the top scope + of the given scope. + The method first calls getTopLevelScope(Scriptable scope) + and then searches the prototype chain of the top scope for the first + object containing the associated value with the given key. +

+

+
+
+
+
Parameters:
scope - the starting scope.
key - key object to select particular value.
See Also:
getAssociatedValue(Object key)
+
+
+
+ +

+associateValue

+
+public final java.lang.Object associateValue(java.lang.Object key,
+                                             java.lang.Object value)
+
+
Associate arbitrary application-specific value with this object. + Value can only be associated with the given object and key only once. + The method ignores any subsequent attempts to change the already + associated value. +

The associated values are not serialized. +

+

+
+
+
+
Parameters:
key - key object to select particular value.
value - the value to associate +
Returns:
the passed value if the method is called first time for the + given key or old value for any subsequent calls.
See Also:
getAssociatedValue(Object key)
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + -- cgit v1.2.3