aboutsummaryrefslogtreecommitdiffstats
path: root/infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html
diff options
context:
space:
mode:
Diffstat (limited to 'infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html')
-rw-r--r--infrastructure/rhino1_7R1/javadoc/org/mozilla/javascript/ScriptableObject.html2604
1 files changed, 2604 insertions, 0 deletions
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 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0) on Thu Mar 06 17:19:15 EST 2008 -->
+<TITLE>
+ScriptableObject (Rhino)
+</TITLE>
+
+<META NAME="date" CONTENT="2008-03-06">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ScriptableObject (Rhino)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/mozilla/javascript/SecurityController.html" title="class in org.mozilla.javascript"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?org/mozilla/javascript/ScriptableObject.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ScriptableObject.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.mozilla.javascript</FONT>
+<BR>
+Class ScriptableObject</H2>
+<PRE>
+java.lang.Object
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.mozilla.javascript.ScriptableObject</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, org.mozilla.javascript.ConstProperties, org.mozilla.javascript.debug.DebuggableObject, <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD>org.mozilla.javascript.IdScriptableObject</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>ScriptableObject</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>, java.io.Serializable, org.mozilla.javascript.debug.DebuggableObject, org.mozilla.javascript.ConstProperties</DL>
+</PRE>
+
+<P>
+This is the default implementation of the Scriptable interface. This
+ class provides convenient default behavior that makes it easier to
+ define host objects.
+ <p>
+ Various properties and methods of JavaScript objects can be conveniently
+ defined using methods of ScriptableObject.
+ <p>
+ Classes extending ScriptableObject must define the getClassName method.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Norris Boyd</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript"><CODE>Scriptable</CODE></A>,
+<A HREF="../../../serialized-form.html#org.mozilla.javascript.ScriptableObject">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#CONST">CONST</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#DONTENUM">DONTENUM</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property attribute indicating property is not enumerated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#EMPTY">EMPTY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The empty property attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#PERMANENT">PERMANENT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property attribute indicating property cannot be deleted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#READONLY">READONLY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property attribute indicating assignment to this property is ignored.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#UNINITIALIZED_CONST">UNINITIALIZED_CONST</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property attribute indicating that this is a const property that has not
+ been assigned yet.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.mozilla.javascript.Scriptable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.mozilla.javascript.<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#NOT_FOUND">NOT_FOUND</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#ScriptableObject()">ScriptableObject</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#ScriptableObject(org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable)">ScriptableObject</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;prototype)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#associateValue(java.lang.Object, java.lang.Object)">associateValue</A></B>(java.lang.Object&nbsp;key,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associate arbitrary application-specific value with this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#avoidObjectDetection()">avoidObjectDetection</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Emulate the SpiderMonkey (and Firefox) feature of allowing
+ custom objects to avoid detection by normal "object detection"
+ code patterns.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#callMethod(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object[])">callMethod</A></B>(<A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript">Context</A>&nbsp;cx,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;methodName,
+ java.lang.Object[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call a method of an object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#callMethod(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object[])">callMethod</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;methodName,
+ java.lang.Object[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call a method of an object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineClass(org.mozilla.javascript.Scriptable, java.lang.Class)">defineClass</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Class&nbsp;clazz)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines JavaScript objects from a Java class that implements Scriptable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineClass(org.mozilla.javascript.Scriptable, java.lang.Class, boolean)">defineClass</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Class&nbsp;clazz,
+ boolean&nbsp;sealed)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines JavaScript objects from a Java class, optionally
+ allowing sealing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineClass(org.mozilla.javascript.Scriptable, java.lang.Class, boolean, boolean)">defineClass</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Class&nbsp;clazz,
+ boolean&nbsp;sealed,
+ boolean&nbsp;mapInheritance)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines JavaScript objects from a Java class, optionally
+ allowing sealing and mapping of Java inheritance to JavaScript
+ prototype-based inheritance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineConst(java.lang.String, org.mozilla.javascript.Scriptable)">defineConst</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reserves a definition spot for a const.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineConstProperty(org.mozilla.javascript.Scriptable, java.lang.String)">defineConstProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;destination,
+ java.lang.String&nbsp;propertyName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Utility method to add properties to arbitrary Scriptable object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineFunctionProperties(java.lang.String[], java.lang.Class, int)">defineFunctionProperties</A></B>(java.lang.String[]&nbsp;names,
+ java.lang.Class&nbsp;clazz,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search for names in a class, adding the resulting methods
+ as properties.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object, int)">defineProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;destination,
+ java.lang.String&nbsp;propertyName,
+ java.lang.Object&nbsp;value,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Utility method to add properties to arbitrary Scriptable object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineProperty(java.lang.String, java.lang.Class, int)">defineProperty</A></B>(java.lang.String&nbsp;propertyName,
+ java.lang.Class&nbsp;clazz,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Define a JavaScript property with getter and setter side effects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineProperty(java.lang.String, java.lang.Object, int)">defineProperty</A></B>(java.lang.String&nbsp;propertyName,
+ java.lang.Object&nbsp;value,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Define a JavaScript property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#defineProperty(java.lang.String, java.lang.Object, java.lang.reflect.Method, java.lang.reflect.Method, int)">defineProperty</A></B>(java.lang.String&nbsp;propertyName,
+ java.lang.Object&nbsp;delegateTo,
+ java.lang.reflect.Method&nbsp;getter,
+ java.lang.reflect.Method&nbsp;setter,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Define a JavaScript property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#delete(int)">delete</A></B>(int&nbsp;index)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the indexed property from the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#delete(java.lang.String)">delete</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a named property from the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#deleteProperty(org.mozilla.javascript.Scriptable, int)">deleteProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the property from an object or its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#deleteProperty(org.mozilla.javascript.Scriptable, java.lang.String)">deleteProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the property from an object or its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#equivalentValues(java.lang.Object)">equivalentValues</A></B>(java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Custom <tt>==</tt> operator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#get(int, org.mozilla.javascript.Scriptable)">get</A></B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the indexed property or NOT_FOUND.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#get(java.lang.String, org.mozilla.javascript.Scriptable)">get</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the named property or NOT_FOUND.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAllIds()">getAllIds</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of ids for the properties of the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAssociatedValue(java.lang.Object)">getAssociatedValue</A></B>(java.lang.Object&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get arbitrary application-specific value associated with this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(int)">getAttributes</A></B>(int&nbsp;index)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the attributes of an indexed property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(int, org.mozilla.javascript.Scriptable)">getAttributes</A></B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(int)"><CODE>getAttributes(int index)</CODE></A>. The engine always
+ ignored the start argument.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)">getAttributes</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the attributes of a named property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String, org.mozilla.javascript.Scriptable)">getAttributes</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)"><CODE>getAttributes(String name)</CODE></A>. The engine always
+ ignored the start argument.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getClassName()">getClassName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name of the class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getClassPrototype(org.mozilla.javascript.Scriptable, java.lang.String)">getClassPrototype</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.String&nbsp;className)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the prototype for the named class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getDefaultValue(java.lang.Class)">getDefaultValue</A></B>(java.lang.Class&nbsp;typeHint)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements the [[DefaultValue]] internal method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getDefaultValue(org.mozilla.javascript.Scriptable, java.lang.Class)">getDefaultValue</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;object,
+ java.lang.Class&nbsp;typeHint)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getFunctionPrototype(org.mozilla.javascript.Scriptable)">getFunctionPrototype</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the Function.prototype property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getGetterOrSetter(java.lang.String, int, boolean)">getGetterOrSetter</A></B>(java.lang.String&nbsp;name,
+ int&nbsp;index,
+ boolean&nbsp;isSetter)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the getter or setter for a given property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getIds()">getIds</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of ids for the properties of the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getObjectPrototype(org.mozilla.javascript.Scriptable)">getObjectPrototype</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the Object.prototype property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getParentScope()">getParentScope</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent (enclosing) scope of the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getProperty(org.mozilla.javascript.Scriptable, int)">getProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an indexed property from an object or any object in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getProperty(org.mozilla.javascript.Scriptable, java.lang.String)">getProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets a named property from an object or any object in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getPropertyIds(org.mozilla.javascript.Scriptable)">getPropertyIds</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of all ids from an object and its prototypes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getPrototype()">getPrototype</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the prototype of the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getTopLevelScope(org.mozilla.javascript.Scriptable)">getTopLevelScope</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the global scope.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getTopScopeValue(org.mozilla.javascript.Scriptable, java.lang.Object)">getTopScopeValue</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Object&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get arbitrary application-specific value associated with the top scope
+ of the given scope.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#has(int, org.mozilla.javascript.Scriptable)">has</A></B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the property index is defined.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#has(java.lang.String, org.mozilla.javascript.Scriptable)">has</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the named property is defined.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#hasInstance(org.mozilla.javascript.Scriptable)">hasInstance</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;instance)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements the instanceof operator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#hasProperty(org.mozilla.javascript.Scriptable, int)">hasProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether an indexed property is defined in an object or any object
+ in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#hasProperty(org.mozilla.javascript.Scriptable, java.lang.String)">hasProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether a named property is defined in an object or any object
+ in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#isConst(java.lang.String)">isConst</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the named property is defined as a const on this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#isGetterOrSetter(java.lang.String, int, boolean)">isGetterOrSetter</A></B>(java.lang.String&nbsp;name,
+ int&nbsp;index,
+ boolean&nbsp;setter)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether a property is a getter or a setter</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#isSealed()">isSealed</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if this object is sealed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#put(int, org.mozilla.javascript.Scriptable, java.lang.Object)">put</A></B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the indexed property, creating it if need be.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)">put</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the named property, creating it if need be.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putConst(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)">putConst</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the named const property, creating it if need be.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putConstProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object)">putConstProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puts a named property in an object or in an object in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putProperty(org.mozilla.javascript.Scriptable, int, java.lang.Object)">putProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puts an indexed property in an object or in an object in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object)">putProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name,
+ java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puts a named property in an object or in an object in its prototype chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#redefineProperty(org.mozilla.javascript.Scriptable, java.lang.String, boolean)">redefineProperty</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name,
+ boolean&nbsp;isConst)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If hasProperty(obj, name) would return true, then if the property that
+ was found is compatible with the new property, this method just returns.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#sealObject()">sealObject</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Seal this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(int, int)">setAttributes</A></B>(int&nbsp;index,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the attributes of an indexed property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(int, org.mozilla.javascript.Scriptable, int)">setAttributes</A></B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(int, int)"><CODE>setAttributes(int index, int attributes)</CODE></A>.
+ The engine always ignored the start argument.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)">setAttributes</A></B>(java.lang.String&nbsp;name,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the attributes of a named property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, org.mozilla.javascript.Scriptable, int)">setAttributes</A></B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ int&nbsp;attributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)"><CODE>setAttributes(String name, int attributes)</CODE></A>.
+ The engine always ignored the start argument.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setGetterOrSetter(java.lang.String, int, org.mozilla.javascript.Callable, boolean)">setGetterOrSetter</A></B>(java.lang.String&nbsp;name,
+ int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Callable.html" title="interface in org.mozilla.javascript">Callable</A>&nbsp;getterOrSeter,
+ boolean&nbsp;isSetter)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XXX: write docs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setParentScope(org.mozilla.javascript.Scriptable)">setParentScope</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;m)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the parent (enclosing) scope of the object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setPrototype(org.mozilla.javascript.Scriptable)">setPrototype</A></B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;m)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the prototype of the object.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="EMPTY"><!-- --></A><H3>
+EMPTY</H3>
+<PRE>
+public static final int <B>EMPTY</B></PRE>
+<DL>
+<DD>The empty property attribute.
+
+ Used by getAttributes() and setAttributes().
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)"><CODE>getAttributes(String)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)"><CODE>setAttributes(String, int)</CODE></A>,
+<A HREF="../../../constant-values.html#org.mozilla.javascript.ScriptableObject.EMPTY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="READONLY"><!-- --></A><H3>
+READONLY</H3>
+<PRE>
+public static final int <B>READONLY</B></PRE>
+<DL>
+<DD>Property attribute indicating assignment to this property is ignored.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html" title="class in org.mozilla.javascript"><CODE>#put(String, Scriptable, Object)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)"><CODE>getAttributes(String)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)"><CODE>setAttributes(String, int)</CODE></A>,
+<A HREF="../../../constant-values.html#org.mozilla.javascript.ScriptableObject.READONLY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DONTENUM"><!-- --></A><H3>
+DONTENUM</H3>
+<PRE>
+public static final int <B>DONTENUM</B></PRE>
+<DL>
+<DD>Property attribute indicating property is not enumerated.
+
+ Only enumerated properties will be returned by getIds().
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getIds()"><CODE>getIds()</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)"><CODE>getAttributes(String)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)"><CODE>setAttributes(String, int)</CODE></A>,
+<A HREF="../../../constant-values.html#org.mozilla.javascript.ScriptableObject.DONTENUM">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PERMANENT"><!-- --></A><H3>
+PERMANENT</H3>
+<PRE>
+public static final int <B>PERMANENT</B></PRE>
+<DL>
+<DD>Property attribute indicating property cannot be deleted.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#delete(java.lang.String)"><CODE>delete(String)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)"><CODE>getAttributes(String)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)"><CODE>setAttributes(String, int)</CODE></A>,
+<A HREF="../../../constant-values.html#org.mozilla.javascript.ScriptableObject.PERMANENT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="UNINITIALIZED_CONST"><!-- --></A><H3>
+UNINITIALIZED_CONST</H3>
+<PRE>
+public static final int <B>UNINITIALIZED_CONST</B></PRE>
+<DL>
+<DD>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.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.mozilla.javascript.ScriptableObject.UNINITIALIZED_CONST">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CONST"><!-- --></A><H3>
+CONST</H3>
+<PRE>
+public static final int <B>CONST</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.mozilla.javascript.ScriptableObject.CONST">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ScriptableObject()"><!-- --></A><H3>
+ScriptableObject</H3>
+<PRE>
+public <B>ScriptableObject</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ScriptableObject(org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+ScriptableObject</H3>
+<PRE>
+public <B>ScriptableObject</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;prototype)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getClassName()"><!-- --></A><H3>
+getClassName</H3>
+<PRE>
+public abstract java.lang.String <B>getClassName</B>()</PRE>
+<DL>
+<DD>Return the name of the class.
+
+ This is typically the same name as the constructor.
+ Classes extending ScriptableObject must implement this abstract
+ method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#getClassName()">getClassName</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="has(java.lang.String, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+has</H3>
+<PRE>
+public boolean <B>has</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD>Returns true if the named property is defined.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(java.lang.String, org.mozilla.javascript.Scriptable)">has</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the property<DD><CODE>start</CODE> - the object in which the lookup began
+<DT><B>Returns:</B><DD>true if and only if the property was found in the object<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getProperty(org.mozilla.javascript.Scriptable, java.lang.String)"><CODE>getProperty(Scriptable, String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="has(int, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+has</H3>
+<PRE>
+public boolean <B>has</B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD>Returns true if the property index is defined.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(int, org.mozilla.javascript.Scriptable)">has</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the numeric index for the property<DD><CODE>start</CODE> - the object in which the lookup began
+<DT><B>Returns:</B><DD>true if and only if the property was found in the object<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(int, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(int, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getProperty(org.mozilla.javascript.Scriptable, int)"><CODE>getProperty(Scriptable, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public java.lang.Object <B>get</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD>Returns the value of the named property or NOT_FOUND.
+
+ If the property was created using defineProperty, the
+ appropriate getter method is called.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(java.lang.String, org.mozilla.javascript.Scriptable)">get</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the property<DD><CODE>start</CODE> - the object in which the lookup began
+<DT><B>Returns:</B><DD>the value of the property (may be null), or NOT_FOUND<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Context.html#getUndefinedValue()"><CODE>Context.getUndefinedValue()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(int, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public java.lang.Object <B>get</B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD>Returns the value of the indexed property or NOT_FOUND.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(int, org.mozilla.javascript.Scriptable)">get</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the numeric index for the property<DD><CODE>start</CODE> - the object in which the lookup began
+<DT><B>Returns:</B><DD>the value of the property (may be null), or NOT_FOUND<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(String,Scriptable)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public void <B>put</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>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. <p>
+
+ If the property's attributes include READONLY, no action is
+ taken.
+ This method will actually set the property in the start
+ object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)">put</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the property<DD><CODE>start</CODE> - the object whose property is being set<DD><CODE>value</CODE> - value to set the property to<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.has(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/Scriptable.html#get(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object)"><CODE>putProperty(Scriptable, String, Object)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/Context.html#toObject(java.lang.Object, org.mozilla.javascript.Scriptable)"><CODE>Context.toObject(Object, Scriptable)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(int, org.mozilla.javascript.Scriptable, java.lang.Object)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public void <B>put</B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Sets the value of the indexed property, creating it if need be.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#put(int, org.mozilla.javascript.Scriptable, java.lang.Object)">put</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the numeric index for the property<DD><CODE>start</CODE> - the object whose property is being set<DD><CODE>value</CODE> - value to set the property to<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(int, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.has(int, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/Scriptable.html#get(int, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(int, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putProperty(org.mozilla.javascript.Scriptable, int, java.lang.Object)"><CODE>putProperty(Scriptable, int, Object)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/Context.html#toObject(java.lang.Object, org.mozilla.javascript.Scriptable)"><CODE>Context.toObject(Object, Scriptable)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(java.lang.String)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Removes a named property from the object.
+
+ If the property is not found, or it has the PERMANENT attribute,
+ no action is taken.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#delete(java.lang.String)">delete</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the property<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#deleteProperty(org.mozilla.javascript.Scriptable, java.lang.String)"><CODE>deleteProperty(Scriptable, String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(int)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>(int&nbsp;index)</PRE>
+<DL>
+<DD>Removes the indexed property from the object.
+
+ If the property is not found, or it has the PERMANENT attribute,
+ no action is taken.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#delete(int)">delete</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the numeric index for the property<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#get(int, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(int, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#deleteProperty(org.mozilla.javascript.Scriptable, int)"><CODE>deleteProperty(Scriptable, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putConst(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)"><!-- --></A><H3>
+putConst</H3>
+<PRE>
+public void <B>putConst</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>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. <p>
+
+ If the property's attributes include READONLY, no action is
+ taken.
+ This method will actually set the property in the start
+ object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>putConst</CODE> in interface <CODE>org.mozilla.javascript.ConstProperties</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the property<DD><CODE>start</CODE> - the object whose property is being set<DD><CODE>value</CODE> - value to set the property to<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.has(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/Scriptable.html#get(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.get(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#putProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object)"><CODE>putProperty(Scriptable, String, Object)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/Context.html#toObject(java.lang.Object, org.mozilla.javascript.Scriptable)"><CODE>Context.toObject(Object, Scriptable)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineConst(java.lang.String, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+defineConst</H3>
+<PRE>
+public void <B>defineConst</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE>org.mozilla.javascript.ConstProperties</CODE></B></DD>
+<DD>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.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>defineConst</CODE> in interface <CODE>org.mozilla.javascript.ConstProperties</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the property.<DD><CODE>start</CODE> - The object whose property is being reserved.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isConst(java.lang.String)"><!-- --></A><H3>
+isConst</H3>
+<PRE>
+public boolean <B>isConst</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns true if the named property is defined as a const on this object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>isConst</CODE> in interface <CODE>org.mozilla.javascript.ConstProperties</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> -
+<DT><B>Returns:</B><DD>true if the named property is defined as a const, false
+ otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes(java.lang.String, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public final int <B>getAttributes</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(java.lang.String)"><CODE>getAttributes(String name)</CODE></A>. The engine always
+ ignored the start argument.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes(int, org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public final int <B>getAttributes</B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAttributes(int)"><CODE>getAttributes(int index)</CODE></A>. The engine always
+ ignored the start argument.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(java.lang.String, org.mozilla.javascript.Scriptable, int)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public final void <B>setAttributes</B>(java.lang.String&nbsp;name,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(java.lang.String, int)"><CODE>setAttributes(String name, int attributes)</CODE></A>.
+ The engine always ignored the start argument.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(int, org.mozilla.javascript.Scriptable, int)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;start,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#setAttributes(int, int)"><CODE>setAttributes(int index, int attributes)</CODE></A>.
+ The engine always ignored the start argument.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes(java.lang.String)"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public int <B>getAttributes</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Get the attributes of a named property.
+
+ The property is specified by <code>name</code>
+ as defined for <code>has</code>.<p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the identifier for the property
+<DT><B>Returns:</B><DD>the bitset of attributes
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript">EvaluatorException</A></CODE> - if the named property is not found<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#has(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>has(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#READONLY"><CODE>READONLY</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#DONTENUM"><CODE>DONTENUM</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#PERMANENT"><CODE>PERMANENT</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#EMPTY"><CODE>EMPTY</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes(int)"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public int <B>getAttributes</B>(int&nbsp;index)</PRE>
+<DL>
+<DD>Get the attributes of an indexed property.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the numeric index for the property
+<DT><B>Returns:</B><DD>the bitset of attributes
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript">EvaluatorException</A></CODE> - if the named property is not found
+ is not found<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#has(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>has(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#READONLY"><CODE>READONLY</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#DONTENUM"><CODE>DONTENUM</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#PERMANENT"><CODE>PERMANENT</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#EMPTY"><CODE>EMPTY</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(java.lang.String, int)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(java.lang.String&nbsp;name,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>Set the attributes of a named property.
+
+ The property is specified by <code>name</code>
+ as defined for <code>has</code>.<p>
+
+ 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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the property<DD><CODE>attributes</CODE> - the bitset of attributes
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript">EvaluatorException</A></CODE> - if the named property is not found<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.has(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#READONLY"><CODE>READONLY</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#DONTENUM"><CODE>DONTENUM</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#PERMANENT"><CODE>PERMANENT</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#EMPTY"><CODE>EMPTY</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(int, int)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(int&nbsp;index,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>Set the attributes of an indexed property.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the numeric index for the property<DD><CODE>attributes</CODE> - the bitset of attributes
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript">EvaluatorException</A></CODE> - if the named property is not found<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#has(java.lang.String, org.mozilla.javascript.Scriptable)"><CODE>Scriptable.has(String, Scriptable)</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#READONLY"><CODE>READONLY</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#DONTENUM"><CODE>DONTENUM</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#PERMANENT"><CODE>PERMANENT</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#EMPTY"><CODE>EMPTY</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGetterOrSetter(java.lang.String, int, org.mozilla.javascript.Callable, boolean)"><!-- --></A><H3>
+setGetterOrSetter</H3>
+<PRE>
+public void <B>setGetterOrSetter</B>(java.lang.String&nbsp;name,
+ int&nbsp;index,
+ <A HREF="../../../org/mozilla/javascript/Callable.html" title="interface in org.mozilla.javascript">Callable</A>&nbsp;getterOrSeter,
+ boolean&nbsp;isSetter)</PRE>
+<DL>
+<DD>XXX: write docs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGetterOrSetter(java.lang.String, int, boolean)"><!-- --></A><H3>
+getGetterOrSetter</H3>
+<PRE>
+public java.lang.Object <B>getGetterOrSetter</B>(java.lang.String&nbsp;name,
+ int&nbsp;index,
+ boolean&nbsp;isSetter)</PRE>
+<DL>
+<DD>Get the getter or setter for a given property. Used by __lookupGetter__
+ and __lookupSetter__.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - Name of the object. If nonnull, index must be 0.<DD><CODE>index</CODE> - Index of the object. If nonzero, name must be null.<DD><CODE>isSetter</CODE> - If true, return the setter, otherwise return the getter.
+<DT><B>Returns:</B><DD>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).
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if both name and index are nonnull
+ and nonzero respectively.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isGetterOrSetter(java.lang.String, int, boolean)"><!-- --></A><H3>
+isGetterOrSetter</H3>
+<PRE>
+protected boolean <B>isGetterOrSetter</B>(java.lang.String&nbsp;name,
+ int&nbsp;index,
+ boolean&nbsp;setter)</PRE>
+<DL>
+<DD>Returns whether a property is a getter or a setter
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - property name<DD><CODE>index</CODE> - property index<DD><CODE>setter</CODE> - true to check for a setter, false for a getter
+<DT><B>Returns:</B><DD>whether the property is a getter or a setter</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrototype()"><!-- --></A><H3>
+getPrototype</H3>
+<PRE>
+public <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> <B>getPrototype</B>()</PRE>
+<DL>
+<DD>Returns the prototype of the object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#getPrototype()">getPrototype</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prototype</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrototype(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+setPrototype</H3>
+<PRE>
+public void <B>setPrototype</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;m)</PRE>
+<DL>
+<DD>Sets the prototype of the object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#setPrototype(org.mozilla.javascript.Scriptable)">setPrototype</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>m</CODE> - the prototype to set</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentScope()"><!-- --></A><H3>
+getParentScope</H3>
+<PRE>
+public <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> <B>getParentScope</B>()</PRE>
+<DL>
+<DD>Returns the parent (enclosing) scope of the object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#getParentScope()">getParentScope</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the parent scope</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParentScope(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+setParentScope</H3>
+<PRE>
+public void <B>setParentScope</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;m)</PRE>
+<DL>
+<DD>Sets the parent (enclosing) scope of the object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#setParentScope(org.mozilla.javascript.Scriptable)">setParentScope</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>m</CODE> - the parent scope to set</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIds()"><!-- --></A><H3>
+getIds</H3>
+<PRE>
+public java.lang.Object[] <B>getIds</B>()</PRE>
+<DL>
+<DD>Returns an array of ids for the properties of the object.
+
+ <p>Any properties with the attribute DONTENUM are not listed. <p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#getIds()">getIds</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>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.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllIds()"><!-- --></A><H3>
+getAllIds</H3>
+<PRE>
+public java.lang.Object[] <B>getAllIds</B>()</PRE>
+<DL>
+<DD>Returns an array of ids for the properties of the object.
+
+ <p>All properties, even those with attribute DONTENUM, are listed. <p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAllIds</CODE> in interface <CODE>org.mozilla.javascript.debug.DebuggableObject</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>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.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDefaultValue(java.lang.Class)"><!-- --></A><H3>
+getDefaultValue</H3>
+<PRE>
+public java.lang.Object <B>getDefaultValue</B>(java.lang.Class&nbsp;typeHint)</PRE>
+<DL>
+<DD>Implements the [[DefaultValue]] internal method.
+
+ <p>Note that the toPrimitive conversion is a no-op for
+ every type other than Object, for which [[DefaultValue]]
+ is called. See ECMA 9.1.<p>
+
+ A <code>hint</code> of null means "no hint".
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#getDefaultValue(java.lang.Class)">getDefaultValue</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>typeHint</CODE> - the type hint
+<DT><B>Returns:</B><DD>the default value for the object
+
+ See ECMA 8.6.2.6.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDefaultValue(org.mozilla.javascript.Scriptable, java.lang.Class)"><!-- --></A><H3>
+getDefaultValue</H3>
+<PRE>
+public static java.lang.Object <B>getDefaultValue</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;object,
+ java.lang.Class&nbsp;typeHint)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasInstance(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+hasInstance</H3>
+<PRE>
+public boolean <B>hasInstance</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;instance)</PRE>
+<DL>
+<DD>Implements the instanceof operator.
+
+ <p>This operator has been proposed to ECMA.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html#hasInstance(org.mozilla.javascript.Scriptable)">hasInstance</A></CODE> in interface <CODE><A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>instance</CODE> - The value that appeared on the LHS of the instanceof
+ operator
+<DT><B>Returns:</B><DD>true if "this" appears in value's prototype chain</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="avoidObjectDetection()"><!-- --></A><H3>
+avoidObjectDetection</H3>
+<PRE>
+public boolean <B>avoidObjectDetection</B>()</PRE>
+<DL>
+<DD>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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this object should avoid object detection<DT><B>Since:</B></DT>
+ <DD>1.7R1</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equivalentValues(java.lang.Object)"><!-- --></A><H3>
+equivalentValues</H3>
+<PRE>
+protected java.lang.Object <B>equivalentValues</B>(java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Custom <tt>==</tt> operator.
+ Must return <A HREF="../../../org/mozilla/javascript/Scriptable.html#NOT_FOUND"><CODE>Scriptable.NOT_FOUND</CODE></A> if this object does not
+ have custom equality operator for the given value,
+ <tt>Boolean.TRUE</tt> if this object is equivalent to <tt>value</tt>,
+ <tt>Boolean.FALSE</tt> if this object is not equivalent to
+ <tt>value</tt>.
+ <p>
+ The default implementation returns Boolean.TRUE
+ if <tt>this == value</tt> or <A HREF="../../../org/mozilla/javascript/Scriptable.html#NOT_FOUND"><CODE>Scriptable.NOT_FOUND</CODE></A> otherwise.
+ It indicates that by default custom equality is available only if
+ <tt>value</tt> is <tt>this</tt> in which case true is returned.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineClass(org.mozilla.javascript.Scriptable, java.lang.Class)"><!-- --></A><H3>
+defineClass</H3>
+<PRE>
+public static void <B>defineClass</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Class&nbsp;clazz)
+ throws java.lang.IllegalAccessException,
+ java.lang.InstantiationException,
+ java.lang.reflect.InvocationTargetException</PRE>
+<DL>
+<DD>Defines JavaScript objects from a Java class that implements Scriptable.
+
+ If the given class has a method
+ <pre>
+ static void init(Context cx, Scriptable scope, boolean sealed);</pre>
+
+ or its compatibility form
+ <pre>
+ static void init(Scriptable scope);</pre>
+
+ then it is invoked and no further initialization is done.<p>
+
+ 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.<p>
+
+ First, the zero-parameter constructor of the class is called to
+ create the prototype. If no such constructor exists,
+ a <A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript"><CODE>EvaluatorException</CODE></A> is thrown. <p>
+
+ Next, all methods are scanned for special prefixes that indicate that they
+ have special meaning for defining JavaScript objects.
+ These special prefixes are
+ <ul>
+ <li><code>jsFunction_</code> for a JavaScript function
+ <li><code>jsStaticFunction_</code> for a JavaScript function that
+ is a property of the constructor
+ <li><code>jsGet_</code> for a getter of a JavaScript property
+ <li><code>jsSet_</code> for a setter of a JavaScript property
+ <li><code>jsConstructor</code> for a JavaScript function that
+ is the constructor
+ </ul><p>
+
+ 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. <p>
+
+ 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.<p>
+
+ 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
+ <A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript"><CODE>EvaluatorException</CODE></A> 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 <A HREF="../../../org/mozilla/javascript/EvaluatorException.html" title="class in org.mozilla.javascript"><CODE>EvaluatorException</CODE></A>
+ will be thrown.<p>
+
+ Finally, if there is a method
+ <pre>
+ static void finishInit(Scriptable scope, FunctionObject constructor,
+ Scriptable prototype)</pre>
+
+ it will be called to finish any initialization. The <code>scope</code>
+ argument will be passed, along with the newly created constructor and
+ the newly created prototype.<p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>scope</CODE> - The scope in which to define the constructor.<DD><CODE>clazz</CODE> - The Java class to use to define the JavaScript objects
+ and properties.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalAccessException</CODE> - if access is not available
+ to a reflected class member
+<DD><CODE>java.lang.InstantiationException</CODE> - if unable to instantiate
+ the named class
+<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if an exception is thrown
+ during execution of methods of the named class<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Function.html" title="interface in org.mozilla.javascript"><CODE>Function</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/FunctionObject.html" title="class in org.mozilla.javascript"><CODE>FunctionObject</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html#READONLY"><CODE>READONLY</CODE></A>,
+<A HREF="../../../org/mozilla/javascript/ScriptableObject.html" title="class in org.mozilla.javascript"><CODE>#defineProperty(String, Class, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineClass(org.mozilla.javascript.Scriptable, java.lang.Class, boolean)"><!-- --></A><H3>
+defineClass</H3>
+<PRE>
+public static void <B>defineClass</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Class&nbsp;clazz,
+ boolean&nbsp;sealed)
+ throws java.lang.IllegalAccessException,
+ java.lang.InstantiationException,
+ java.lang.reflect.InvocationTargetException</PRE>
+<DL>
+<DD>Defines JavaScript objects from a Java class, optionally
+ allowing sealing.
+
+ Similar to <code>defineClass(Scriptable scope, Class clazz)</code>
+ 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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>scope</CODE> - The scope in which to define the constructor.<DD><CODE>clazz</CODE> - The Java class to use to define the JavaScript objects
+ and properties. The class must implement Scriptable.<DD><CODE>sealed</CODE> - Whether or not to create sealed standard objects that
+ cannot be modified.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalAccessException</CODE> - if access is not available
+ to a reflected class member
+<DD><CODE>java.lang.InstantiationException</CODE> - if unable to instantiate
+ the named class
+<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if an exception is thrown
+ during execution of methods of the named class<DT><B>Since:</B></DT>
+ <DD>1.4R3</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineClass(org.mozilla.javascript.Scriptable, java.lang.Class, boolean, boolean)"><!-- --></A><H3>
+defineClass</H3>
+<PRE>
+public static java.lang.String <B>defineClass</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Class&nbsp;clazz,
+ boolean&nbsp;sealed,
+ boolean&nbsp;mapInheritance)
+ throws java.lang.IllegalAccessException,
+ java.lang.InstantiationException,
+ java.lang.reflect.InvocationTargetException</PRE>
+<DL>
+<DD>Defines JavaScript objects from a Java class, optionally
+ allowing sealing and mapping of Java inheritance to JavaScript
+ prototype-based inheritance.
+
+ Similar to <code>defineClass(Scriptable scope, Class clazz)</code>
+ 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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>scope</CODE> - The scope in which to define the constructor.<DD><CODE>clazz</CODE> - The Java class to use to define the JavaScript objects
+ and properties. The class must implement Scriptable.<DD><CODE>sealed</CODE> - Whether or not to create sealed standard objects that
+ cannot be modified.<DD><CODE>mapInheritance</CODE> - Whether or not to map Java inheritance to
+ JavaScript prototype-based inheritance.
+<DT><B>Returns:</B><DD>the class name for the prototype of the specified class
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalAccessException</CODE> - if access is not available
+ to a reflected class member
+<DD><CODE>java.lang.InstantiationException</CODE> - if unable to instantiate
+ the named class
+<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if an exception is thrown
+ during execution of methods of the named class<DT><B>Since:</B></DT>
+ <DD>1.6R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineProperty(java.lang.String, java.lang.Object, int)"><!-- --></A><H3>
+defineProperty</H3>
+<PRE>
+public void <B>defineProperty</B>(java.lang.String&nbsp;propertyName,
+ java.lang.Object&nbsp;value,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>Define a JavaScript property.
+
+ Creates the property with an initial value and sets its attributes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>propertyName</CODE> - the name of the property to define.<DD><CODE>value</CODE> - the initial value of the property<DD><CODE>attributes</CODE> - the attributes of the JavaScript property<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)"><CODE>Scriptable.put(String, Scriptable, Object)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object, int)"><!-- --></A><H3>
+defineProperty</H3>
+<PRE>
+public static void <B>defineProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;destination,
+ java.lang.String&nbsp;propertyName,
+ java.lang.Object&nbsp;value,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>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
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineConstProperty(org.mozilla.javascript.Scriptable, java.lang.String)"><!-- --></A><H3>
+defineConstProperty</H3>
+<PRE>
+public static void <B>defineConstProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;destination,
+ java.lang.String&nbsp;propertyName)</PRE>
+<DL>
+<DD>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
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineProperty(java.lang.String, java.lang.Class, int)"><!-- --></A><H3>
+defineProperty</H3>
+<PRE>
+public void <B>defineProperty</B>(java.lang.String&nbsp;propertyName,
+ java.lang.Class&nbsp;clazz,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>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. <p>
+
+ The getter must be a method with zero parameters, and the setter, if
+ found, must be a method with one parameter.<p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>propertyName</CODE> - 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
+ <code>clazz</code> will be searched for "getFoo"
+ and "setFoo" methods.<DD><CODE>clazz</CODE> - the Java class to search for the getter and setter<DD><CODE>attributes</CODE> - the attributes of the JavaScript property<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Scriptable.html#put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)"><CODE>Scriptable.put(String, Scriptable, Object)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineProperty(java.lang.String, java.lang.Object, java.lang.reflect.Method, java.lang.reflect.Method, int)"><!-- --></A><H3>
+defineProperty</H3>
+<PRE>
+public void <B>defineProperty</B>(java.lang.String&nbsp;propertyName,
+ java.lang.Object&nbsp;delegateTo,
+ java.lang.reflect.Method&nbsp;getter,
+ java.lang.reflect.Method&nbsp;setter,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>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
+ <code>defineProperty(String,int)</code>.
+
+ If <code>setter</code> is null, the attribute READONLY is added to
+ the given attributes.<p>
+
+ 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':
+ <pre>
+ Object getFoo();
+ void setFoo(SomeType value);</pre>
+ Next are static methods that may be of any class; the object whose
+ property is being accessed is passed in as an extra argument:
+ <pre>
+ static Object getFoo(Scriptable obj);
+ static void setFoo(Scriptable obj, SomeType value);</pre>
+ Finally, it is possible to delegate to another object entirely using
+ the <code>delegateTo</code> 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:
+ <pre>
+ Object getFoo(Scriptable obj);
+ void setFoo(Scriptable obj, SomeType value);</pre>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>propertyName</CODE> - the name of the property to define.<DD><CODE>delegateTo</CODE> - an object to call the getter and setter methods on,
+ or null, depending on the form used above.<DD><CODE>getter</CODE> - the method to invoke to get the value of the property<DD><CODE>setter</CODE> - the method to invoke to set the value of the property<DD><CODE>attributes</CODE> - the attributes of the JavaScript property</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defineFunctionProperties(java.lang.String[], java.lang.Class, int)"><!-- --></A><H3>
+defineFunctionProperties</H3>
+<PRE>
+public void <B>defineFunctionProperties</B>(java.lang.String[]&nbsp;names,
+ java.lang.Class&nbsp;clazz,
+ int&nbsp;attributes)</PRE>
+<DL>
+<DD>Search for names in a class, adding the resulting methods
+ as properties.
+
+ <p> 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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>names</CODE> - the names of the Methods to add as function properties<DD><CODE>clazz</CODE> - the class to search for the Methods<DD><CODE>attributes</CODE> - the attributes of the new properties<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/FunctionObject.html" title="class in org.mozilla.javascript"><CODE>FunctionObject</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getObjectPrototype(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+getObjectPrototype</H3>
+<PRE>
+public static <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> <B>getObjectPrototype</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Get the Object.prototype property.
+ See ECMA 15.2.4.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunctionPrototype(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+getFunctionPrototype</H3>
+<PRE>
+public static <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> <B>getFunctionPrototype</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Get the Function.prototype property.
+ See ECMA 15.3.4.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClassPrototype(org.mozilla.javascript.Scriptable, java.lang.String)"><!-- --></A><H3>
+getClassPrototype</H3>
+<PRE>
+public static <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> <B>getClassPrototype</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.String&nbsp;className)</PRE>
+<DL>
+<DD>Get the prototype for the named class.
+
+ For example, <code>getClassPrototype(s, "Date")</code> 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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>scope</CODE> - an object in the scope chain<DD><CODE>className</CODE> - the name of the constructor
+<DT><B>Returns:</B><DD>the prototype for the named class, or null if it
+ cannot be found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTopLevelScope(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+getTopLevelScope</H3>
+<PRE>
+public static <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> <B>getTopLevelScope</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj)</PRE>
+<DL>
+<DD>Get the global scope.
+
+ <p>Walks the parent scope chain to find an object with a null
+ parent scope (the global object).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object
+<DT><B>Returns:</B><DD>the corresponding global scope</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sealObject()"><!-- --></A><H3>
+sealObject</H3>
+<PRE>
+public void <B>sealObject</B>()</PRE>
+<DL>
+<DD>Seal this object.
+
+ A sealed object may not have properties added or removed. Once
+ an object is sealed it may not be unsealed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Since:</B></DT>
+ <DD>1.4R3</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSealed()"><!-- --></A><H3>
+isSealed</H3>
+<PRE>
+public final boolean <B>isSealed</B>()</PRE>
+<DL>
+<DD>Return true if this object is sealed.
+
+ It is an error to attempt to add or remove properties to
+ a sealed object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if sealed, false otherwise.<DT><B>Since:</B></DT>
+ <DD>1.4R3</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperty(org.mozilla.javascript.Scriptable, java.lang.String)"><!-- --></A><H3>
+getProperty</H3>
+<PRE>
+public static java.lang.Object <B>getProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Gets a named property from an object or any object in its prototype chain.
+ <p>
+ Searches the prototype chain for a property named <code>name</code>.
+ <p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>name</CODE> - a property name
+<DT><B>Returns:</B><DD>the value of a property with name <code>name</code> found in
+ <code>obj</code> or any object in its prototype chain, or
+ <code>Scriptable.NOT_FOUND</code> if not found<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperty(org.mozilla.javascript.Scriptable, int)"><!-- --></A><H3>
+getProperty</H3>
+<PRE>
+public static java.lang.Object <B>getProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index)</PRE>
+<DL>
+<DD>Gets an indexed property from an object or any object in its prototype chain.
+ <p>
+ Searches the prototype chain for a property with integral index
+ <code>index</code>. 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.
+ <p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>index</CODE> - an integral index
+<DT><B>Returns:</B><DD>the value of a property with index <code>index</code> found in
+ <code>obj</code> or any object in its prototype chain, or
+ <code>Scriptable.NOT_FOUND</code> if not found<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasProperty(org.mozilla.javascript.Scriptable, java.lang.String)"><!-- --></A><H3>
+hasProperty</H3>
+<PRE>
+public static boolean <B>hasProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns whether a named property is defined in an object or any object
+ in its prototype chain.
+ <p>
+ Searches the prototype chain for a property named <code>name</code>.
+ <p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>name</CODE> - a property name
+<DT><B>Returns:</B><DD>the true if property was found<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="redefineProperty(org.mozilla.javascript.Scriptable, java.lang.String, boolean)"><!-- --></A><H3>
+redefineProperty</H3>
+<PRE>
+public static void <B>redefineProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name,
+ boolean&nbsp;isConst)</PRE>
+<DL>
+<DD>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.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasProperty(org.mozilla.javascript.Scriptable, int)"><!-- --></A><H3>
+hasProperty</H3>
+<PRE>
+public static boolean <B>hasProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index)</PRE>
+<DL>
+<DD>Returns whether an indexed property is defined in an object or any object
+ in its prototype chain.
+ <p>
+ Searches the prototype chain for a property with index <code>index</code>.
+ <p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>index</CODE> - a property index
+<DT><B>Returns:</B><DD>the true if property was found<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+putProperty</H3>
+<PRE>
+public static void <B>putProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Puts a named property in an object or in an object in its prototype chain.
+ <p>
+ Searches for the named property in the prototype chain. If it is found,
+ the value of the property in <code>obj</code> is changed through a call
+ to <A HREF="../../../org/mozilla/javascript/Scriptable.html#put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)"><CODE>Scriptable.put(String, Scriptable, Object)</CODE></A> on the
+ prototype passing <code>obj</code> as the <code>start</code> 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 <code>obj</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>name</CODE> - a property name<DD><CODE>value</CODE> - any JavaScript value accepted by Scriptable.put<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putConstProperty(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+putConstProperty</H3>
+<PRE>
+public static void <B>putConstProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Puts a named property in an object or in an object in its prototype chain.
+ <p>
+ Searches for the named property in the prototype chain. If it is found,
+ the value of the property in <code>obj</code> is changed through a call
+ to <A HREF="../../../org/mozilla/javascript/Scriptable.html#put(java.lang.String, org.mozilla.javascript.Scriptable, java.lang.Object)"><CODE>Scriptable.put(String, Scriptable, Object)</CODE></A> on the
+ prototype passing <code>obj</code> as the <code>start</code> 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 <code>obj</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>name</CODE> - a property name<DD><CODE>value</CODE> - any JavaScript value accepted by Scriptable.put<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putProperty(org.mozilla.javascript.Scriptable, int, java.lang.Object)"><!-- --></A><H3>
+putProperty</H3>
+<PRE>
+public static void <B>putProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Puts an indexed property in an object or in an object in its prototype chain.
+ <p>
+ Searches for the indexed property in the prototype chain. If it is found,
+ the value of the property in <code>obj</code> is changed through a call
+ to <A HREF="../../../org/mozilla/javascript/Scriptable.html#put(int, org.mozilla.javascript.Scriptable, java.lang.Object)"><CODE>Scriptable.put(int, Scriptable, Object)</CODE></A> on the prototype
+ passing <code>obj</code> as the <code>start</code> 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 <code>obj</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>index</CODE> - a property index<DD><CODE>value</CODE> - any JavaScript value accepted by Scriptable.put<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteProperty(org.mozilla.javascript.Scriptable, java.lang.String)"><!-- --></A><H3>
+deleteProperty</H3>
+<PRE>
+public static boolean <B>deleteProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Removes the property from an object or its prototype chain.
+ <p>
+ Searches for a property with <code>name</code> in obj or
+ its prototype chain. If it is found, the object's delete
+ method is called.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>name</CODE> - a property name
+<DT><B>Returns:</B><DD>true if the property doesn't exist or was successfully removed<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteProperty(org.mozilla.javascript.Scriptable, int)"><!-- --></A><H3>
+deleteProperty</H3>
+<PRE>
+public static boolean <B>deleteProperty</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ int&nbsp;index)</PRE>
+<DL>
+<DD>Removes the property from an object or its prototype chain.
+ <p>
+ Searches for a property with <code>index</code> in obj or
+ its prototype chain. If it is found, the object's delete
+ method is called.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object<DD><CODE>index</CODE> - a property index
+<DT><B>Returns:</B><DD>true if the property doesn't exist or was successfully removed<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPropertyIds(org.mozilla.javascript.Scriptable)"><!-- --></A><H3>
+getPropertyIds</H3>
+<PRE>
+public static java.lang.Object[] <B>getPropertyIds</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj)</PRE>
+<DL>
+<DD>Returns an array of all ids from an object and its prototypes.
+ <p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - a JavaScript object
+<DT><B>Returns:</B><DD>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.<DT><B>Since:</B></DT>
+ <DD>1.5R2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="callMethod(org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object[])"><!-- --></A><H3>
+callMethod</H3>
+<PRE>
+public static java.lang.Object <B>callMethod</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;methodName,
+ java.lang.Object[]&nbsp;args)</PRE>
+<DL>
+<DD>Call a method of an object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the JavaScript object<DD><CODE>methodName</CODE> - the name of the function property<DD><CODE>args</CODE> - the arguments for the call<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Context.html#getCurrentContext()"><CODE>Context.getCurrentContext()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="callMethod(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.String, java.lang.Object[])"><!-- --></A><H3>
+callMethod</H3>
+<PRE>
+public static java.lang.Object <B>callMethod</B>(<A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript">Context</A>&nbsp;cx,
+ <A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;obj,
+ java.lang.String&nbsp;methodName,
+ java.lang.Object[]&nbsp;args)</PRE>
+<DL>
+<DD>Call a method of an object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cx</CODE> - the Context object associated with the current thread.<DD><CODE>obj</CODE> - the JavaScript object<DD><CODE>methodName</CODE> - the name of the function property<DD><CODE>args</CODE> - the arguments for the call</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssociatedValue(java.lang.Object)"><!-- --></A><H3>
+getAssociatedValue</H3>
+<PRE>
+public final java.lang.Object <B>getAssociatedValue</B>(java.lang.Object&nbsp;key)</PRE>
+<DL>
+<DD>Get arbitrary application-specific value associated with this object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - key object to select particular value.<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#associateValue(java.lang.Object, java.lang.Object)"><CODE>associateValue(Object key, Object value)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTopScopeValue(org.mozilla.javascript.Scriptable, java.lang.Object)"><!-- --></A><H3>
+getTopScopeValue</H3>
+<PRE>
+public static java.lang.Object <B>getTopScopeValue</B>(<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A>&nbsp;scope,
+ java.lang.Object&nbsp;key)</PRE>
+<DL>
+<DD>Get arbitrary application-specific value associated with the top scope
+ of the given scope.
+ The method first calls <A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getTopLevelScope(org.mozilla.javascript.Scriptable)"><CODE>getTopLevelScope(Scriptable scope)</CODE></A>
+ and then searches the prototype chain of the top scope for the first
+ object containing the associated value with the given key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>scope</CODE> - the starting scope.<DD><CODE>key</CODE> - key object to select particular value.<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAssociatedValue(java.lang.Object)"><CODE>getAssociatedValue(Object key)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="associateValue(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
+associateValue</H3>
+<PRE>
+public final java.lang.Object <B>associateValue</B>(java.lang.Object&nbsp;key,
+ java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>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.
+ <p> The associated values are not serialized.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - key object to select particular value.<DD><CODE>value</CODE> - the value to associate
+<DT><B>Returns:</B><DD>the passed value if the method is called first time for the
+ given key or old value for any subsequent calls.<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/ScriptableObject.html#getAssociatedValue(java.lang.Object)"><CODE>getAssociatedValue(Object key)</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/mozilla/javascript/SecurityController.html" title="class in org.mozilla.javascript"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?org/mozilla/javascript/ScriptableObject.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ScriptableObject.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>