<!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_13) on Sat Nov 06 11:09:28 CDT 2010 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
OrderedJSONObject (Apache Wink 1.1.2-incubating API)
</TITLE>

<META NAME="date" CONTENT="2010-11-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="OrderedJSONObject (Apache Wink 1.1.2-incubating 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/OrderedJSONObject.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/wink/json4j/JSONWriter.html" title="class in org.apache.wink.json4j"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/wink/json4j/OrderedJSONObject.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OrderedJSONObject.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;<A HREF="#nested_classes_inherited_from_class_java.util.AbstractMap">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.wink.json4j.JSONObject">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;FIELD&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.wink.json4j</FONT>
<BR>
Class OrderedJSONObject</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.util.AbstractMap&lt;K,V&gt;
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.util.HashMap
          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/wink/json4j/JSONObject.html" title="class in org.apache.wink.json4j">org.apache.wink.json4j.JSONObject</A>
              <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.wink.json4j.OrderedJSONObject</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.lang.Cloneable, java.util.Map, <A HREF="../../../../org/apache/wink/json4j/JSONArtifact.html" title="interface in org.apache.wink.json4j">JSONArtifact</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>OrderedJSONObject</B><DT>extends <A HREF="../../../../org/apache/wink/json4j/JSONObject.html" title="class in org.apache.wink.json4j">JSONObject</A></DL>
</PRE>

<P>
Extension of the basic JSONObject.  This class allows control of the serialization order of attributes.  
 The order in which items are put into the instance controls the order in which they are serialized out.  For example, the
 last item put is the last item serialized.  
 <BR><BR>
 JSON-able values are: null, and instances of String, Boolean, Number, JSONObject and JSONArray.
 <BR><BR>
 Instances of this class are not thread-safe.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.wink.json4j.OrderedJSONObject">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_java.util.AbstractMap"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.util.AbstractMap</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>java.util.AbstractMap.SimpleEntry&lt;K,V&gt;, java.util.AbstractMap.SimpleImmutableEntry&lt;K,V&gt;</CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== 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>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.wink.json4j.JSONObject"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.wink.json4j.<A HREF="../../../../org/apache/wink/json4j/JSONObject.html" title="class in org.apache.wink.json4j">JSONObject</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONObject.html#NULL">NULL</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/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject()">OrderedJSONObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.io.InputStream)">OrderedJSONObject</A></B>(java.io.InputStream&nbsp;is)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class from the data provided from the input stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.io.InputStream, boolean)">OrderedJSONObject</A></B>(java.io.InputStream&nbsp;is,
                  boolean&nbsp;strict)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class from the data provided from the input stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.util.Map)">OrderedJSONObject</A></B>(java.util.Map&nbsp;map)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class using the contents of the provided map.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.io.Reader)">OrderedJSONObject</A></B>(java.io.Reader&nbsp;rdr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class from the data provided from the reader.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.io.Reader, boolean)">OrderedJSONObject</A></B>(java.io.Reader&nbsp;rdr,
                  boolean&nbsp;strict)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class from the data provided from the reader.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.lang.String)">OrderedJSONObject</A></B>(java.lang.String&nbsp;str)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class from the provided JSON object string.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#OrderedJSONObject(java.lang.String, boolean)">OrderedJSONObject</A></B>(java.lang.String&nbsp;str,
                  boolean&nbsp;strict)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of this class from the provided JSON object 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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(non-Javadoc)</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/wink/json4j/OrderedJSONObject.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a shallow copy of this HashMap instance: the keys and values themselves are not cloned.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/json4j/OrderedJSONObject.html#getOrder()">getOrder</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method to obtain the order in which the items will be serialized.</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/wink/json4j/OrderedJSONObject.html#put(java.lang.Object, java.lang.Object)">put</A></B>(java.lang.Object&nbsp;key,
    java.lang.Object&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method to put a JSON'able object into the instance.</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/wink/json4j/OrderedJSONObject.html#remove(java.lang.Object)">remove</A></B>(java.lang.Object&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method to remove an entry from the OrderedJSONObject instance.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.wink.json4j.JSONObject"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.wink.json4j.<A HREF="../../../../org/apache/wink/json4j/JSONObject.html" title="class in org.apache.wink.json4j">JSONObject</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONObject.html#append(java.lang.String, java.lang.Object)">append</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#get(java.lang.String)">get</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getBoolean(java.lang.String)">getBoolean</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getDouble(java.lang.String)">getDouble</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getInt(java.lang.String)">getInt</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getJSONArray(java.lang.String)">getJSONArray</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getJSONObject(java.lang.String)">getJSONObject</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getLong(java.lang.String)">getLong</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getNames(org.apache.wink.json4j.JSONObject)">getNames</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getShort(java.lang.String)">getShort</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#getString(java.lang.String)">getString</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#has(java.lang.String)">has</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#isNull(java.lang.String)">isNull</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#isValidObject(java.lang.Object)">isValidObject</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#isValidType(java.lang.Class)">isValidType</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#keys()">keys</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#length()">length</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#names()">names</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#opt(java.lang.String)">opt</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optBoolean(java.lang.String)">optBoolean</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optBoolean(java.lang.String, boolean)">optBoolean</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optDouble(java.lang.String)">optDouble</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optDouble(java.lang.String, double)">optDouble</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optInt(java.lang.String)">optInt</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optInt(java.lang.String, int)">optInt</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optJSONArray(java.lang.String)">optJSONArray</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optJSONArray(java.lang.String, org.apache.wink.json4j.JSONArray)">optJSONArray</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optJSONObject(java.lang.String)">optJSONObject</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optJSONObject(java.lang.String, org.apache.wink.json4j.JSONObject)">optJSONObject</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optLong(java.lang.String)">optLong</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optLong(java.lang.String, long)">optLong</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optShort(java.lang.String)">optShort</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optShort(java.lang.String, short)">optShort</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optString(java.lang.String)">optString</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#optString(java.lang.String, java.lang.String)">optString</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.Object, java.lang.Object, boolean)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, boolean)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.util.Collection)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.util.Collection, boolean)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, double)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, int)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, long)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.util.Map)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.util.Map, boolean)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.lang.Object)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.lang.Object[])">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, java.lang.Object[], boolean)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.String, short)">put</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#putOnce(java.lang.String, java.lang.Object)">putOnce</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#putOpt(java.lang.String, java.lang.Object)">putOpt</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#sortedKeys()">sortedKeys</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#toJSONArray(org.apache.wink.json4j.JSONArray)">toJSONArray</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#toString()">toString</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#toString(boolean)">toString</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#toString(int)">toString</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write()">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(boolean)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(int)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(java.io.OutputStream)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(java.io.OutputStream, boolean)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(java.io.OutputStream, int)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(java.io.Writer)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(java.io.Writer, boolean)">write</A>, <A HREF="../../../../org/apache/wink/json4j/JSONObject.html#write(java.io.Writer, int)">write</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.util.HashMap"><!-- --></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.util.HashMap</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>containsKey, containsValue, entrySet, get, isEmpty, keySet, putAll, size, values</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.util.AbstractMap"><!-- --></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.util.AbstractMap</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, hashCode</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>finalize, getClass, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.util.Map"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface java.util.Map</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, hashCode</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="OrderedJSONObject()"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>()</PRE>
<DL>
<DD>Create a new instance of this class.
<P>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.lang.String)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.lang.String&nbsp;str)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class from the provided JSON object string.
 Note:  This is the same as calling new OrderedJSONObject(str, false).
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>str</CODE> - The String of JSON to parse
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when the string passed is null, or malformed JSON..</DL>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.lang.String, boolean)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.lang.String&nbsp;str,
                         boolean&nbsp;strict)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class from the provided JSON object string.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>str</CODE> - The String of JSON to parse<DD><CODE>strict</CODE> - Boolean flag indicating if strict mode should be used.  Strict mode means comments and unquoted strings are not allowed.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when the string passed is null, or malformed JSON..</DL>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.io.Reader)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.io.Reader&nbsp;rdr)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class from the data provided from the reader.  The reader content must be a JSON object string.
 Note:  The reader will not be closed, that is left to the caller.
 Note:  This is the same as calling new OrderedJSONObject(rdr, false).
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>rdr</CODE> - The reader from which to read the JSON to parse
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when the string passed is null, or malformed JSON..</DL>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.io.Reader, boolean)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.io.Reader&nbsp;rdr,
                         boolean&nbsp;strict)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class from the data provided from the reader.  The reader content must be a JSON object string.
 Note:  The reader will not be closed, that is left to the caller.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>rdr</CODE> - The reader from which to read the JSON to parse<DD><CODE>strict</CODE> - Boolean flag indicating if strict mode should be used.  Strict mode means comments and unquoted strings are not allowed.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when the string passed is null, or malformed JSON..</DL>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.io.InputStream)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.io.InputStream&nbsp;is)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class from the data provided from the input stream.  The stream content must be a JSON object string.
 Note:  The input stream content is assumed to be UTF-8 encoded.
 Note:  The InputStream will not be closed, that is left to the caller.
 Note:  This is the same as calling new OrderedJSONObject(is, false).
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>is</CODE> - The InputStream from which to read the JSON to parse
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when the string passed is null, or malformed JSON..</DL>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.io.InputStream, boolean)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.io.InputStream&nbsp;is,
                         boolean&nbsp;strict)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class from the data provided from the input stream.  The stream content must be a JSON object string.
 Note:  The input stream content is assumed to be UTF-8 encoded.
 Note:  The InputStream will not be closed, that is left to the caller.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>is</CODE> - The InputStream from which to read the JSON to parse<DD><CODE>strict</CODE> - Boolean flag indicating if strict mode should be used.  Strict mode means comments and unquoted strings are not allowed.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when the string passed is null, or malformed JSON..</DL>
</DL>
<HR>

<A NAME="OrderedJSONObject(java.util.Map)"><!-- --></A><H3>
OrderedJSONObject</H3>
<PRE>
public <B>OrderedJSONObject</B>(java.util.Map&nbsp;map)
                  throws <A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></PRE>
<DL>
<DD>Create a new instance of this class using the contents of the provided map.  
 The contents of the map should be values considered JSONable.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>map</CODE> - The map of key/value pairs to insert into this JSON object
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONException.html" title="class in org.apache.wink.json4j">JSONException</A></CODE> - Thrown when contents in the map cannot be made JSONable.
<DD><CODE>java.lang.NullPointerException</CODE> - Thrown if the map is null, or a key in the map is null..</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="put(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
put</H3>
<PRE>
public java.lang.Object <B>put</B>(java.lang.Object&nbsp;key,
                            java.lang.Object&nbsp;value)</PRE>
<DL>
<DD>Method to put a JSON'able object into the instance.  Note that the order of initial puts controls the order of serialization.  
 Meaning that the first time an item is put into the object determines is position of serialization.  Subsequent puts with the same
 key replace the existing entry value and leave serialization position alone.  For moving the position, the object must be removed, 
 then re-put.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>put</CODE> in interface <CODE>java.util.Map</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/wink/json4j/JSONObject.html#put(java.lang.Object, java.lang.Object)">put</A></CODE> in class <CODE><A HREF="../../../../org/apache/wink/json4j/JSONObject.html" title="class in org.apache.wink.json4j">JSONObject</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>HashMap.put(java.lang.Object, java.lang.Object)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="remove(java.lang.Object)"><!-- --></A><H3>
remove</H3>
<PRE>
public java.lang.Object <B>remove</B>(java.lang.Object&nbsp;key)</PRE>
<DL>
<DD>Method to remove an entry from the OrderedJSONObject instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>remove</CODE> in interface <CODE>java.util.Map</CODE><DT><B>Overrides:</B><DD><CODE>remove</CODE> in class <CODE>java.util.HashMap</CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>HashMap.remove(java.lang.Object)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public void <B>clear</B>()</PRE>
<DL>
<DD>(non-Javadoc)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>clear</CODE> in interface <CODE>java.util.Map</CODE><DT><B>Overrides:</B><DD><CODE>clear</CODE> in class <CODE>java.util.HashMap</CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>HashMap.clear()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public java.lang.Object <B>clone</B>()</PRE>
<DL>
<DD>Returns a shallow copy of this HashMap instance: the keys and values themselves are not cloned.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.util.HashMap</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getOrder()"><!-- --></A><H3>
getOrder</H3>
<PRE>
public java.util.Iterator <B>getOrder</B>()</PRE>
<DL>
<DD>Method to obtain the order in which the items will be serialized.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>An iterator that represents the attribute names in the order that they will be serialized.</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/OrderedJSONObject.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/wink/json4j/JSONWriter.html" title="class in org.apache.wink.json4j"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/wink/json4j/OrderedJSONObject.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OrderedJSONObject.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;<A HREF="#nested_classes_inherited_from_class_java.util.AbstractMap">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.wink.json4j.JSONObject">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;FIELD&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; 2009-2010 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
