http://git-wip-us.apache.org/repos/asf/sling-site/blob/c1fb7b2c/apidocs/sling5/org/apache/sling/commons/json/JSONException.html
----------------------------------------------------------------------
diff --git a/apidocs/sling5/org/apache/sling/commons/json/JSONException.html 
b/apidocs/sling5/org/apache/sling/commons/json/JSONException.html
new file mode 100644
index 0000000..997f25e
--- /dev/null
+++ b/apidocs/sling5/org/apache/sling/commons/json/JSONException.html
@@ -0,0 +1,283 @@
+<!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_10) on Mon May 11 08:55:05 CEST 2009 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JSONException (Apache Sling Aggregate 5-incubator API)
+</TITLE>
+
+<META NAME="date" CONTENT="2009-05-11">
+
+<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="JSONException (Apache Sling Aggregate 
5-incubator API)";
+    }
+}
+</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="class-use/JSONException.html"><FONT 
CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A 
HREF="../../../../../index.html?org/apache/sling/commons/json/JSONException.html"
 target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JSONException.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;FIELD&nbsp;|&nbsp;<A 
HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A 
HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A 
HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.apache.sling.commons.json</FONT>
+<BR>
+Class JSONException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by 
">java.lang.Throwable
+      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by 
">java.lang.Exception
+          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by 
"><B>org.apache.sling.commons.json.JSONException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JSONException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+The JSONException is thrown by the JSON.org classes then things are amiss.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>2</DD>
+<DT><B>Author:</B></DT>
+  <DD>JSON.org</DD>
+<DT><B>See Also:</B><DD><A 
HREF="../../../../../serialized-form.html#org.apache.sling.commons.json.JSONException">Serialized
 Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== 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/apache/sling/commons/json/JSONException.html#JSONException(java.lang.String)">JSONException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a 
JSONException with an explanatory message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html#JSONException(java.lang.String,
 java.lang.Throwable)">JSONException</A></B>(java.lang.String&nbsp;message,
+              java.lang.Throwable&nbsp;t)</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/apache/sling/commons/json/JSONException.html#JSONException(java.lang.Throwable)">JSONException</A></B>(java.lang.Throwable&nbsp;t)</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>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></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.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, 
getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, 
setStackTrace, toString</CODE></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, 
wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= 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="JSONException(java.lang.String)"><!-- --></A><H3>
+JSONException</H3>
+<PRE>
+public <B>JSONException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+<DD>Constructs a JSONException with an explanatory message.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - Detail about the reason for 
the exception.</DL>
+</DL>
+<HR>
+
+<A NAME="JSONException(java.lang.Throwable)"><!-- --></A><H3>
+JSONException</H3>
+<PRE>
+public <B>JSONException</B>(java.lang.Throwable&nbsp;t)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="JSONException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+JSONException</H3>
+<PRE>
+public <B>JSONException</B>(java.lang.String&nbsp;message,
+                     java.lang.Throwable&nbsp;t)</PRE>
+<DL>
+</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="class-use/JSONException.html"><FONT 
CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A 
HREF="../../../../../index.html?org/apache/sling/commons/json/JSONException.html"
 target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JSONException.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;FIELD&nbsp;|&nbsp;<A 
HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A 
HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A 
HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2007-2009. All Rights Reserved.
+</BODY>
+</HTML>

http://git-wip-us.apache.org/repos/asf/sling-site/blob/c1fb7b2c/apidocs/sling5/org/apache/sling/commons/json/JSONObject.html
----------------------------------------------------------------------
diff --git a/apidocs/sling5/org/apache/sling/commons/json/JSONObject.html 
b/apidocs/sling5/org/apache/sling/commons/json/JSONObject.html
new file mode 100644
index 0000000..e185cee
--- /dev/null
+++ b/apidocs/sling5/org/apache/sling/commons/json/JSONObject.html
@@ -0,0 +1,1651 @@
+<!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_10) on Mon May 11 08:55:05 CEST 2009 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JSONObject (Apache Sling Aggregate 5-incubator API)
+</TITLE>
+
+<META NAME="date" CONTENT="2009-05-11">
+
+<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="JSONObject (Apache Sling Aggregate 5-incubator 
API)";
+    }
+}
+</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="class-use/JSONObject.html"><FONT 
CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/sling/commons/json/JSONString.html" 
title="interface in org.apache.sling.commons.json"><B>NEXT 
CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A 
HREF="../../../../../index.html?org/apache/sling/commons/json/JSONObject.html" 
target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JSONObject.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.apache.sling.commons.json</FONT>
+<BR>
+Class JSONObject</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by 
"><B>org.apache.sling.commons.json.JSONObject</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A 
HREF="../../../../../org/apache/sling/commons/json/jcr/JsonJcrNode.html" 
title="class in org.apache.sling.commons.json.jcr">JsonJcrNode</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JSONObject</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+A JSONObject is an unordered collection of name/value pairs. Its
+ external form is a string wrapped in curly braces with colons between the
+ names and values, and commas between the values and names. The internal form
+ is an object having <code>get</code> and <code>opt</code> methods for
+ accessing the values by name, and <code>put</code> methods for adding or
+ replacing values by name. The values can be any of these types:
+ <code>Boolean</code>, <code>JSONArray</code>, <code>JSONObject</code>,
+ <code>Number</code>, <code>String</code>, or the <code>JSONObject.NULL</code>
+ object. A JSONObject constructor can be used to convert an external form
+ JSON text into an internal form whose values can be retrieved with the
+ <code>get</code> and <code>opt</code> methods, or to convert values into a
+ JSON text using the <code>put</code> and <code>toString</code> methods.
+ A <code>get</code> method returns a value if one can be found, and throws an
+ exception if one cannot be found. An <code>opt</code> method returns a
+ default value instead of throwing an exception, and so is useful for
+ obtaining optional values.
+ <p>
+ The generic <code>get()</code> and <code>opt()</code> methods return an
+ object, which you can cast or query for type. There are also typed
+ <code>get</code> and <code>opt</code> methods that do type checking and type
+ coersion for you.
+ <p>
+ The <code>put</code> methods adds values to an object. For example, <pre>
+     myString = new JSONObject().put("JSON", "Hello, World!").toString();</pre>
+ produces the string <code>{"JSON": "Hello, World"}</code>.
+ <p>
+ The texts produced by the <code>toString</code> methods strictly conform to
+ the JSON sysntax rules.
+ The constructors are more forgiving in the texts they will accept:
+ <ul>
+ <li>An extra <code>,</code>&nbsp;<small>(comma)</small> may appear just
+     before the closing brace.</li>
+ <li>Strings may be quoted with <code>'</code>&nbsp;<small>(single
+     quote)</small>.</li>
+ <li>Strings do not need to be quoted at all if they do not begin with a quote
+     or single quote, and if they do not contain leading or trailing spaces,
+     and if they do not contain any of these characters:
+     <code>{ } [ ] / \ : , = ; #</code> and if they do not look like numbers
+     and if they are not the reserved words <code>true</code>,
+     <code>false</code>, or <code>null</code>.</li>
+ <li>Keys can be followed by <code>=</code> or <code>=></code> as well as
+     by <code>:</code>.</li>
+ <li>Values can be followed by <code>;</code> <small>(semicolon)</small> as
+     well as by <code>,</code> <small>(comma)</small>.</li>
+ <li>Numbers may have the <code>0-</code> <small>(octal)</small> or
+     <code>0x-</code> <small>(hex)</small> prefix.</li>
+ <li>Comments written in the slashshlash, slashstar, and hash conventions
+     will be ignored.</li>
+ </ul>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>2</DD>
+<DT><B>Author:</B></DT>
+  <DD>JSON.org</DD>
+</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;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#NULL">NULL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It is sometimes 
more convenient and less ambiguous to have a
+ <code>NULL</code> object than to use Java's <code>null</code> value.</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/apache/sling/commons/json/JSONObject.html#JSONObject()">JSONObject</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct an empty 
JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#JSONObject(org.apache.sling.commons.json.JSONObject,
 java.lang.String[])">JSONObject</A></B>(<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A>&nbsp;jo,
+           java.lang.String[]&nbsp;sa)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a 
JSONObject from a subset of another JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#JSONObject(org.apache.sling.commons.json.JSONTokener)">JSONObject</A></B>(<A
 HREF="../../../../../org/apache/sling/commons/json/JSONTokener.html" 
title="class in org.apache.sling.commons.json">JSONTokener</A>&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a 
JSONObject from a JSONTokener.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#JSONObject(java.util.Map)">JSONObject</A></B>(java.util.Map&lt;java.lang.String,?&gt;&nbsp;map)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a 
JSONObject from a Map.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#JSONObject(java.lang.Object,
 java.lang.String[])">JSONObject</A></B>(java.lang.Object&nbsp;object,
+           java.lang.String[]&nbsp;names)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a 
JSONObject from an Object, using reflection to find the
+ public members.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#JSONObject(java.lang.String)">JSONObject</A></B>(java.lang.String&nbsp;string)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a 
JSONObject from a string.</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;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#accumulate(java.lang.String,
 java.lang.Object)">accumulate</A></B>(java.lang.String&nbsp;key,
+           java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Accumulate values 
under a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#append(java.lang.String,
 java.lang.Object)">append</A></B>(java.lang.String&nbsp;key,
+       java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append values to 
the array under a key.</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/apache/sling/commons/json/JSONObject.html#doubleToString(double)">doubleToString</A></B>(double&nbsp;d)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce a string 
from a double.</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/apache/sling/commons/json/JSONObject.html#get(java.lang.String)">get</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value 
object associated with a key.</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/apache/sling/commons/json/JSONObject.html#getBoolean(java.lang.String)">getBoolean</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the boolean 
value associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;double</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#getDouble(java.lang.String)">getDouble</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the double 
value associated with a key.</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/apache/sling/commons/json/JSONObject.html#getInt(java.lang.String)">getInt</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the int value 
associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" title="class 
in org.apache.sling.commons.json">JSONArray</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#getJSONArray(java.lang.String)">getJSONArray</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the JSONArray 
value associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#getJSONObject(java.lang.String)">getJSONObject</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the JSONObject 
value associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#getLong(java.lang.String)">getLong</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the long value 
associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#getString(java.lang.String)">getString</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the string 
associated with a key.</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/apache/sling/commons/json/JSONObject.html#has(java.lang.String)">has</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if the 
JSONObject contains a specific key.</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/apache/sling/commons/json/JSONObject.html#isNull(java.lang.String)">isNull</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if the 
value associated with the key is null or if there is
+  no value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Iterator&lt;java.lang.String&gt;</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#keys()">keys</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an enumeration 
of the keys of the JSONObject.</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/apache/sling/commons/json/JSONObject.html#length()">length</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the number of 
keys stored in the JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" title="class 
in org.apache.sling.commons.json">JSONArray</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#names()">names</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce a 
JSONArray containing the names of the elements of this
+ JSONObject.</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/apache/sling/commons/json/JSONObject.html#numberToString(java.lang.Number)">numberToString</A></B>(java.lang.Number&nbsp;n)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce a string 
from a Number.</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/apache/sling/commons/json/JSONObject.html#opt(java.lang.String)">opt</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
value associated with a key.</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/apache/sling/commons/json/JSONObject.html#optBoolean(java.lang.String)">optBoolean</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
boolean associated with a key.</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/apache/sling/commons/json/JSONObject.html#optBoolean(java.lang.String,
 boolean)">optBoolean</A></B>(java.lang.String&nbsp;key,
+           boolean&nbsp;defaultValue)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
boolean associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;double</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optDouble(java.lang.String)">optDouble</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
double associated with a key,
+ or NaN if there is no such key or if its value is not a number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;double</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optDouble(java.lang.String,
 double)">optDouble</A></B>(java.lang.String&nbsp;key,
+          double&nbsp;defaultValue)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
double associated with a key, or the
+ defaultValue if there is no such key or if its value is not a number.</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/apache/sling/commons/json/JSONObject.html#optInt(java.lang.String)">optInt</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
int value associated with a key,
+ or zero if there is no such key or if the value is not a number.</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/apache/sling/commons/json/JSONObject.html#optInt(java.lang.String,
 int)">optInt</A></B>(java.lang.String&nbsp;key,
+       int&nbsp;defaultValue)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
int value associated with a key,
+ or the default if there is no such key or if the value is not a number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" title="class 
in org.apache.sling.commons.json">JSONArray</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optJSONArray(java.lang.String)">optJSONArray</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
JSONArray associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optJSONObject(java.lang.String)">optJSONObject</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
JSONObject associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optLong(java.lang.String)">optLong</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
long value associated with a key,
+ or zero if there is no such key or if the value is not a number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optLong(java.lang.String,
 long)">optLong</A></B>(java.lang.String&nbsp;key,
+        long&nbsp;defaultValue)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
long value associated with a key,
+ or the default if there is no such key or if the value is not a number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optString(java.lang.String)">optString</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
string associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#optString(java.lang.String,
 java.lang.String)">optString</A></B>(java.lang.String&nbsp;key,
+          java.lang.String&nbsp;defaultValue)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an optional 
string associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 boolean)">put</A></B>(java.lang.String&nbsp;key,
+    boolean&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/boolean 
pair in the JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 java.util.Collection)">put</A></B>(java.lang.String&nbsp;key,
+    java.util.Collection&lt;?&gt;&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/value 
pair in the JSONObject, where the value will be a
+ JSONArray which is produced from a Collection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 double)">put</A></B>(java.lang.String&nbsp;key,
+    double&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/double 
pair in the JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 int)">put</A></B>(java.lang.String&nbsp;key,
+    int&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/int pair 
in the JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 long)">put</A></B>(java.lang.String&nbsp;key,
+    long&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/long 
pair in the JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 java.util.Map)">put</A></B>(java.lang.String&nbsp;key,
+    java.util.Map&lt;java.lang.String,?&gt;&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/value 
pair in the JSONObject, where the value will be a
+ JSONObject which is produced from a Map.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#put(java.lang.String,
 java.lang.Object)">put</A></B>(java.lang.String&nbsp;key,
+    java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/value 
pair in the JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#putOpt(java.lang.String,
 java.lang.Object)">putOpt</A></B>(java.lang.String&nbsp;key,
+       java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a key/value 
pair in the JSONObject, but only if the
+ key and the value are both non-null.</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/apache/sling/commons/json/JSONObject.html#quote(java.lang.String)">quote</A></B>(java.lang.String&nbsp;string)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce a string 
in double quotes with backslash sequences in all the
+ right places.</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/apache/sling/commons/json/JSONObject.html#remove(java.lang.String)">remove</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove a name and 
its value, if present.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A 
HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" title="class 
in org.apache.sling.commons.json">JSONArray</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#toJSONArray(org.apache.sling.commons.json.JSONArray)">toJSONArray</A></B>(<A
 HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json">JSONArray</A>&nbsp;names)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce a 
JSONArray containing the values of the members of this
+ JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make a JSON text 
of this JSONObject.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#toString(int)">toString</A></B>(int&nbsp;indentFactor)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make a 
prettyprinted JSON text of this JSONObject.</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/apache/sling/commons/json/JSONObject.html#valueToString(java.lang.Object)">valueToString</A></B>(java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make a JSON text 
of an Object value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.io.Writer</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html#write(java.io.Writer)">write</A></B>(java.io.Writer&nbsp;writer)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write the contents 
of the JSONObject as JSON text to a writer.</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, 
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="NULL"><!-- --></A><H3>
+NULL</H3>
+<PRE>
+public static final java.lang.Object <B>NULL</B></PRE>
+<DL>
+<DD>It is sometimes more convenient and less ambiguous to have a
+ <code>NULL</code> object than to use Java's <code>null</code> value.
+ <code>JSONObject.NULL.equals(null)</code> returns <code>true</code>.
+ <code>JSONObject.NULL.toString()</code> returns <code>"null"</code>.
+<P>
+<DL>
+</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="JSONObject()"><!-- --></A><H3>
+JSONObject</H3>
+<PRE>
+public <B>JSONObject</B>()</PRE>
+<DL>
+<DD>Construct an empty JSONObject.
+<P>
+</DL>
+<HR>
+
+<A NAME="JSONObject(org.apache.sling.commons.json.JSONObject, 
java.lang.String[])"><!-- --></A><H3>
+JSONObject</H3>
+<PRE>
+public <B>JSONObject</B>(<A 
HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A>&nbsp;jo,
+                  java.lang.String[]&nbsp;sa)
+           throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Construct a JSONObject from a subset of another JSONObject.
+ An array of strings is used to identify the keys that should be copied.
+ Missing keys are ignored.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>jo</CODE> - A JSONObject.<DD><CODE>sa</CODE> - 
An array of strings.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If a 
value is a non-finite number.</DL>
+</DL>
+<HR>
+
+<A NAME="JSONObject(org.apache.sling.commons.json.JSONTokener)"><!-- 
--></A><H3>
+JSONObject</H3>
+<PRE>
+public <B>JSONObject</B>(<A 
HREF="../../../../../org/apache/sling/commons/json/JSONTokener.html" 
title="class in org.apache.sling.commons.json">JSONTokener</A>&nbsp;x)
+           throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Construct a JSONObject from a JSONTokener.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - A JSONTokener object containing the 
source string.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
there is a syntax error in the source string.</DL>
+</DL>
+<HR>
+
+<A NAME="JSONObject(java.util.Map)"><!-- --></A><H3>
+JSONObject</H3>
+<PRE>
+public 
<B>JSONObject</B>(java.util.Map&lt;java.lang.String,?&gt;&nbsp;map)</PRE>
+<DL>
+<DD>Construct a JSONObject from a Map.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>map</CODE> - A map object that can be used to 
initialize the contents of
+  the JSONObject.</DL>
+</DL>
+<HR>
+
+<A NAME="JSONObject(java.lang.Object, java.lang.String[])"><!-- --></A><H3>
+JSONObject</H3>
+<PRE>
+public <B>JSONObject</B>(java.lang.Object&nbsp;object,
+                  java.lang.String[]&nbsp;names)</PRE>
+<DL>
+<DD>Construct a JSONObject from an Object, using reflection to find the
+ public members. The resulting JSONObject's keys will be the strings
+ from the names array, and the values will be the field values associated
+ with those keys in the object. If a key is not found or not visible,
+ then it will not be copied into the new JSONObject.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - An object that has fields that 
should be used to make a
+ JSONObject.<DD><CODE>names</CODE> - An array of strings, the names of the 
fields to be used
+ from the object.</DL>
+</DL>
+<HR>
+
+<A NAME="JSONObject(java.lang.String)"><!-- --></A><H3>
+JSONObject</H3>
+<PRE>
+public <B>JSONObject</B>(java.lang.String&nbsp;string)
+           throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Construct a JSONObject from a string.
+ This is the most commonly used JSONObject constructor.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>string</CODE> - A string beginning
+  with <code>{</code>&nbsp;<small>(left brace)</small> and ending
+  with <code>}</code>&nbsp;<small>(right brace)</small>.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
there is a syntax error in the source string.</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="accumulate(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+accumulate</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>accumulate</B>(java.lang.String&nbsp;key,
+                             java.lang.Object&nbsp;value)
+                      throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Accumulate values under a key. It is similar to the put method except
+ that if there is already an object stored under the key then a
+ JSONArray is stored under the key to hold all of the accumulated values.
+ If there is already a JSONArray, then the new value is appended to it.
+ In contrast, the put method replaces the previous value.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - An object to be accumulated under the key.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the value is an invalid number
+  or if the key is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="append(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+append</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>append</B>(java.lang.String&nbsp;key,
+                         java.lang.Object&nbsp;value)
+                  throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Append values to the array under a key. If the key does not exist in the
+ JSONObject, then the key is put in the JSONObject with its value being a
+ JSONArray containing the value parameter. If the key was already
+ associated with a JSONArray, then the value parameter is appended to it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - An object to be accumulated under the key.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the key is null or if the current value
+        associated with the key is not a JSONArray.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doubleToString(double)"><!-- --></A><H3>
+doubleToString</H3>
+<PRE>
+public static java.lang.String <B>doubleToString</B>(double&nbsp;d)</PRE>
+<DL>
+<DD>Produce a string from a double. The string "null" will be returned if
+ the number is not finite.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>d</CODE> - A double.
+<DT><B>Returns:</B><DD>A String.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public java.lang.Object <B>get</B>(java.lang.String&nbsp;key)
+                     throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the value object associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>The object associated with the key.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBoolean(java.lang.String)"><!-- --></A><H3>
+getBoolean</H3>
+<PRE>
+public boolean <B>getBoolean</B>(java.lang.String&nbsp;key)
+                   throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the boolean value associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>The truth.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the value is not a Boolean or the String "true" or "false".</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDouble(java.lang.String)"><!-- --></A><H3>
+getDouble</H3>
+<PRE>
+public double <B>getDouble</B>(java.lang.String&nbsp;key)
+                 throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the double value associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>The numeric value.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found or
+  if the value is not a Number object and cannot be converted to a number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInt(java.lang.String)"><!-- --></A><H3>
+getInt</H3>
+<PRE>
+public int <B>getInt</B>(java.lang.String&nbsp;key)
+           throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the int value associated with a key. If the number value is too
+ large for an int, it will be clipped.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>The integer value.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found or if the value cannot
+  be converted to an integer.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJSONArray(java.lang.String)"><!-- --></A><H3>
+getJSONArray</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json">JSONArray</A> 
<B>getJSONArray</B>(java.lang.String&nbsp;key)
+                       throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the JSONArray value associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>A JSONArray which is the value.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found or
+  if the value is not a JSONArray.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJSONObject(java.lang.String)"><!-- --></A><H3>
+getJSONObject</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>getJSONObject</B>(java.lang.String&nbsp;key)
+                         throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the JSONObject value associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>A JSONObject which is the value.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found or
+  if the value is not a JSONObject.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLong(java.lang.String)"><!-- --></A><H3>
+getLong</H3>
+<PRE>
+public long <B>getLong</B>(java.lang.String&nbsp;key)
+             throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the long value associated with a key. If the number value is too
+ long for a long, it will be clipped.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>The long value.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found or if the value cannot
+  be converted to a long.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getString(java.lang.String)"><!-- --></A><H3>
+getString</H3>
+<PRE>
+public java.lang.String <B>getString</B>(java.lang.String&nbsp;key)
+                           throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Get the string associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>A string which is the value.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - if 
the key is not found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="has(java.lang.String)"><!-- --></A><H3>
+has</H3>
+<PRE>
+public boolean <B>has</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Determine if the JSONObject contains a specific key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>true if the key exists in the JSONObject.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNull(java.lang.String)"><!-- --></A><H3>
+isNull</H3>
+<PRE>
+public boolean <B>isNull</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Determine if the value associated with the key is null or if there is
+  no value.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>true if there is no value associated with the key or if
+  the value is the JSONObject.NULL object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="keys()"><!-- --></A><H3>
+keys</H3>
+<PRE>
+public java.util.Iterator&lt;java.lang.String&gt; <B>keys</B>()</PRE>
+<DL>
+<DD>Get an enumeration of the keys of the JSONObject.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An iterator of the keys.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="length()"><!-- --></A><H3>
+length</H3>
+<PRE>
+public int <B>length</B>()</PRE>
+<DL>
+<DD>Get the number of keys stored in the JSONObject.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The number of keys in the JSONObject.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="names()"><!-- --></A><H3>
+names</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json">JSONArray</A> 
<B>names</B>()</PRE>
+<DL>
+<DD>Produce a JSONArray containing the names of the elements of this
+ JSONObject.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A JSONArray containing the key strings, or null if the 
JSONObject
+ is empty.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="numberToString(java.lang.Number)"><!-- --></A><H3>
+numberToString</H3>
+<PRE>
+public static java.lang.String <B>numberToString</B>(java.lang.Number&nbsp;n)
+                                       throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Produce a string from a Number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>n</CODE> - A Number
+<DT><B>Returns:</B><DD>A String.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If n 
is a non-finite number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="opt(java.lang.String)"><!-- --></A><H3>
+opt</H3>
+<PRE>
+public java.lang.Object <B>opt</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional value associated with a key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>An object which is the value, or null if there is no 
value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optBoolean(java.lang.String)"><!-- --></A><H3>
+optBoolean</H3>
+<PRE>
+public boolean <B>optBoolean</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional boolean associated with a key.
+ It returns false if there is no such key, or if the value is not
+ Boolean.TRUE or the String "true".
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>The truth.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optBoolean(java.lang.String, boolean)"><!-- --></A><H3>
+optBoolean</H3>
+<PRE>
+public boolean <B>optBoolean</B>(java.lang.String&nbsp;key,
+                          boolean&nbsp;defaultValue)</PRE>
+<DL>
+<DD>Get an optional boolean associated with a key.
+ It returns the defaultValue if there is no such key, or if it is not
+ a Boolean or the String "true" or "false" (case insensitive).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>defaultValue</CODE> - The default.
+<DT><B>Returns:</B><DD>The truth.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, java.util.Collection)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      java.util.Collection&lt;?&gt;&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/value pair in the JSONObject, where the value will be a
+ JSONArray which is produced from a Collection.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - A Collection value.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optDouble(java.lang.String)"><!-- --></A><H3>
+optDouble</H3>
+<PRE>
+public double <B>optDouble</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional double associated with a key,
+ or NaN if there is no such key or if its value is not a number.
+ If the value is a string, an attempt will be made to evaluate it as
+ a number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A string which is the key.
+<DT><B>Returns:</B><DD>An object which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optDouble(java.lang.String, double)"><!-- --></A><H3>
+optDouble</H3>
+<PRE>
+public double <B>optDouble</B>(java.lang.String&nbsp;key,
+                        double&nbsp;defaultValue)</PRE>
+<DL>
+<DD>Get an optional double associated with a key, or the
+ defaultValue if there is no such key or if its value is not a number.
+ If the value is a string, an attempt will be made to evaluate it as
+ a number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>defaultValue</CODE> - The default.
+<DT><B>Returns:</B><DD>An object which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optInt(java.lang.String)"><!-- --></A><H3>
+optInt</H3>
+<PRE>
+public int <B>optInt</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional int value associated with a key,
+ or zero if there is no such key or if the value is not a number.
+ If the value is a string, an attempt will be made to evaluate it as
+ a number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>An object which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optInt(java.lang.String, int)"><!-- --></A><H3>
+optInt</H3>
+<PRE>
+public int <B>optInt</B>(java.lang.String&nbsp;key,
+                  int&nbsp;defaultValue)</PRE>
+<DL>
+<DD>Get an optional int value associated with a key,
+ or the default if there is no such key or if the value is not a number.
+ If the value is a string, an attempt will be made to evaluate it as
+ a number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>defaultValue</CODE> - The default.
+<DT><B>Returns:</B><DD>An object which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optJSONArray(java.lang.String)"><!-- --></A><H3>
+optJSONArray</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json">JSONArray</A> 
<B>optJSONArray</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional JSONArray associated with a key.
+ It returns null if there is no such key, or if its value is not a
+ JSONArray.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>A JSONArray which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optJSONObject(java.lang.String)"><!-- --></A><H3>
+optJSONObject</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>optJSONObject</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional JSONObject associated with a key.
+ It returns null if there is no such key, or if its value is not a
+ JSONObject.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>A JSONObject which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optLong(java.lang.String)"><!-- --></A><H3>
+optLong</H3>
+<PRE>
+public long <B>optLong</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional long value associated with a key,
+ or zero if there is no such key or if the value is not a number.
+ If the value is a string, an attempt will be made to evaluate it as
+ a number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>An object which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optLong(java.lang.String, long)"><!-- --></A><H3>
+optLong</H3>
+<PRE>
+public long <B>optLong</B>(java.lang.String&nbsp;key,
+                    long&nbsp;defaultValue)</PRE>
+<DL>
+<DD>Get an optional long value associated with a key,
+ or the default if there is no such key or if the value is not a number.
+ If the value is a string, an attempt will be made to evaluate it as
+ a number.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>defaultValue</CODE> - The default.
+<DT><B>Returns:</B><DD>An object which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optString(java.lang.String)"><!-- --></A><H3>
+optString</H3>
+<PRE>
+public java.lang.String <B>optString</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Get an optional string associated with a key.
+ It returns an empty string if there is no such key. If the value is not
+ a string and is not null, then it is coverted to a string.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key string.
+<DT><B>Returns:</B><DD>A string which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="optString(java.lang.String, java.lang.String)"><!-- --></A><H3>
+optString</H3>
+<PRE>
+public java.lang.String <B>optString</B>(java.lang.String&nbsp;key,
+                                  java.lang.String&nbsp;defaultValue)</PRE>
+<DL>
+<DD>Get an optional string associated with a key.
+ It returns the defaultValue if there is no such key.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>defaultValue</CODE> - The default.
+<DT><B>Returns:</B><DD>A string which is the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, boolean)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      boolean&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/boolean pair in the JSONObject.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - A boolean which is the value.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the key is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, double)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      double&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/double pair in the JSONObject.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - A double which is the value.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the key is null or if the number is invalid.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, int)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      int&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/int pair in the JSONObject.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - An int which is the value.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the key is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, long)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      long&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/long pair in the JSONObject.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - A long which is the value.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the key is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, java.util.Map)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      java.util.Map&lt;java.lang.String,?&gt;&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/value pair in the JSONObject, where the value will be a
+ JSONObject which is produced from a Map.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - A Map value.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>put</B>(java.lang.String&nbsp;key,
+                      java.lang.Object&nbsp;value)
+               throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/value pair in the JSONObject. If the value is null,
+ then the key will be removed from the JSONObject if it is present.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - An object which is the value. It should be of 
one of these
+  types: Boolean, Double, Integer, JSONArray, JSONObject, Long, String,
+  or the JSONObject.NULL object.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the value is non-finite number
+  or if the key is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putOpt(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+putOpt</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONObject.html" 
title="class in org.apache.sling.commons.json">JSONObject</A> 
<B>putOpt</B>(java.lang.String&nbsp;key,
+                         java.lang.Object&nbsp;value)
+                  throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Put a key/value pair in the JSONObject, but only if the
+ key and the value are both non-null.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - A key 
string.<DD><CODE>value</CODE> - An object which is the value. It should be of 
one of these
+  types: Boolean, Double, Integer, JSONArray, JSONObject, Long, String,
+  or the JSONObject.NULL object.
+<DT><B>Returns:</B><DD>this.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the value is a non-finite number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="quote(java.lang.String)"><!-- --></A><H3>
+quote</H3>
+<PRE>
+public static java.lang.String <B>quote</B>(java.lang.String&nbsp;string)</PRE>
+<DL>
+<DD>Produce a string in double quotes with backslash sequences in all the
+ right places. A backslash will be inserted within </, allowing JSON
+ text to be delivered in HTML. In JSON text, a string cannot contain a
+ control character or an unescaped quote or backslash.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>string</CODE> - A String
+<DT><B>Returns:</B><DD>A String correctly formatted for insertion in a JSON 
text.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(java.lang.String)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public java.lang.Object <B>remove</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Remove a name and its value, if present.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - The name to be removed.
+<DT><B>Returns:</B><DD>The value that was associated with the name,
+ or null if there was no value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toJSONArray(org.apache.sling.commons.json.JSONArray)"><!-- --></A><H3>
+toJSONArray</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" 
title="class in org.apache.sling.commons.json">JSONArray</A> 
<B>toJSONArray</B>(<A 
HREF="../../../../../org/apache/sling/commons/json/JSONArray.html" title="class 
in org.apache.sling.commons.json">JSONArray</A>&nbsp;names)
+                      throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Produce a JSONArray containing the values of the members of this
+ JSONObject.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>names</CODE> - A JSONArray containing a list 
of key strings. This
+ determines the sequence of the values in the result.
+<DT><B>Returns:</B><DD>A JSONArray of values.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
any of the values are non-finite numbers.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD>Make a JSON text of this JSONObject. For compactness, no whitespace
+ is added. If this would not result in a syntactically correct JSON text,
+ then null will be returned instead.
+ <p>
+ Warning: This method assumes that the data structure is acyclical.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class 
<CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a printable, displayable, portable, transmittable
+  representation of the object, beginning
+  with <code>{</code>&nbsp;<small>(left brace)</small> and ending
+  with <code>}</code>&nbsp;<small>(right brace)</small>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString(int)"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>(int&nbsp;indentFactor)
+                          throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Make a prettyprinted JSON text of this JSONObject.
+ <p>
+ Warning: This method assumes that the data structure is acyclical.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>indentFactor</CODE> - The number of spaces to 
add to each level of
+  indentation.
+<DT><B>Returns:</B><DD>a printable, displayable, portable, transmittable
+  representation of the object, beginning
+  with <code>{</code>&nbsp;<small>(left brace)</small> and ending
+  with <code>}</code>&nbsp;<small>(right brace)</small>.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the object contains an invalid number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueToString(java.lang.Object)"><!-- --></A><H3>
+valueToString</H3>
+<PRE>
+public static java.lang.String 
<B>valueToString</B>(java.lang.Object&nbsp;value)
+                                      throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Make a JSON text of an Object value. If the object has an
+ value.toJSONString() method, then that method will be used to produce
+ the JSON text. The method is required to produce a strictly
+ conforming text. If the object does not contain a toJSONString
+ method (which is the most common case), then a text will be
+ produced by the rules.
+ <p>
+ Warning: This method assumes that the data structure is acyclical.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - The value to be serialized.
+<DT><B>Returns:</B><DD>a printable, displayable, transmittable
+  representation of the object, beginning
+  with <code>{</code>&nbsp;<small>(left brace)</small> and ending
+  with <code>}</code>&nbsp;<small>(right brace)</small>.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE> - If 
the value is or contains an invalid number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public java.io.Writer <B>write</B>(java.io.Writer&nbsp;writer)
+                     throws <A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></PRE>
+<DL>
+<DD>Write the contents of the JSONObject as JSON text to a writer.
+ For compactness, no whitespace is added.
+ <p>
+ Warning: This method assumes that the data structure is acyclical.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The writer.
+<DT><B>Throws:</B>
+<DD><CODE><A 
HREF="../../../../../org/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json">JSONException</A></CODE></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="class-use/JSONObject.html"><FONT 
CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/apache/sling/commons/json/JSONException.html" 
title="class in org.apache.sling.commons.json"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/sling/commons/json/JSONString.html" 
title="interface in org.apache.sling.commons.json"><B>NEXT 
CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A 
HREF="../../../../../index.html?org/apache/sling/commons/json/JSONObject.html" 
target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JSONObject.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>
+Copyright &#169; 2007-2009. All Rights Reserved.
+</BODY>
+</HTML>

Reply via email to