<!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_18) on Thu Dec 02 16:59:42 UTC 2010 --> <TITLE> StoredIterator </TITLE> <META NAME="date" CONTENT="2010-12-02"> <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="StoredIterator"; } } </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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/sleepycat/bdb/collection/StoredEntrySet.html" title="class in com.sleepycat.bdb.collection"><B>PREV CLASS</B></A> <A HREF="../../../../com/sleepycat/bdb/collection/StoredKeySet.html" title="class in com.sleepycat.bdb.collection"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/sleepycat/bdb/collection/StoredIterator.html" target="_top"><B>FRAMES</B></A> <A HREF="StoredIterator.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | CONSTR | <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"> com.sleepycat.bdb.collection</FONT> <BR> Class StoredIterator</H2> <PRE> java.lang.Object <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.bdb.collection.StoredIterator</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable, java.util.Iterator, java.util.ListIterator</DD> </DL> <HR> <DL> <DT><PRE>public class <B>StoredIterator</B><DT>extends java.lang.Object<DT>implements java.util.ListIterator, java.lang.Cloneable</DL> </PRE> <P> The Iterator returned by all stored collections. <p>While in general this class conforms to the <CODE>Iterator</CODE> interface, it is important to note that all iterators for stored collections must be explicitly closed with <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close()"><CODE>close()</CODE></A>. The static method <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close(java.util.Iterator)"><CODE>close(java.util.Iterator)</CODE></A> allows calling close for all iterators without harm to iterators that are not from stored collections, and also avoids casting. If a stored iterator is not closed, unpredictable behavior including process death may result.</p> <p>This class implements the <CODE>Iterator</CODE> interface for all stored iterators. It also implements <CODE>ListIterator</CODE> because some list iterator methods apply to all stored iterators, for example, <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#previous()"><CODE>previous()</CODE></A> and <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#hasPrevious()"><CODE>hasPrevious()</CODE></A>. Other list iterator methods are always supports for lists, but for other types of collections are only supported under certain conditions. For example, <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#nextIndex()"><CODE>nextIndex()</CODE></A> and <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#previousIndex()"><CODE>previousIndex()</CODE></A> are only supported when record number keys are used, while <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#add(java.lang.Object)"><CODE>add(java.lang.Object)</CODE></A> and <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#set(java.lang.Object)"><CODE>set(java.lang.Object)</CODE></A> are supported only under certain other conditions. See the individual method descriptions for more information.</p> <p>In addition, this class provides the following methods for stored collection iterators only. Note that the use of these methods is not compatible with the standard Java collections interface.</p> <ul> <li><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close()"><CODE>close()</CODE></A></li> <li><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close(java.util.Iterator)"><CODE>close(Iterator)</CODE></A></li> <li><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#getCollection()"><CODE>getCollection()</CODE></A></li> </ul> <P> <P> <HR> <P> <!-- ========== 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> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#add(java.lang.Object)">add</A></B>(java.lang.Object value)</CODE> <BR> Inserts the specified element into the list or inserts a duplicate into other types of collections (optional operation).</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#clone()">clone</A></B>()</CODE> <BR> Clones this iterator preserving its current position.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close()">close</A></B>()</CODE> <BR> Closes this iterator.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close(java.util.Iterator)">close</A></B>(java.util.Iterator i)</CODE> <BR> Closes the given iterator using <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close()"><CODE>close()</CODE></A> if it is a <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html" title="class in com.sleepycat.bdb.collection"><CODE>StoredIterator</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#count()">count</A></B>()</CODE> <BR> Returns the number of elements having the same key value as the key value of the element last returned by next() or previous().</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../com/sleepycat/bdb/collection/StoredCollection.html" title="class in com.sleepycat.bdb.collection">StoredCollection</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#getCollection()">getCollection</A></B>()</CODE> <BR> Returns the collection associated with this iterator.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#getLockForWrite()">getLockForWrite</A></B>()</CODE> <BR> Returns whether write-locks will be obtained when reading with this cursor.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#hasNext()">hasNext</A></B>()</CODE> <BR> Returns true if this iterator has more elements when traversing in the forward direction.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#hasPrevious()">hasPrevious</A></B>()</CODE> <BR> Returns true if this iterator has more elements when traversing in the reverse direction.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#next()">next</A></B>()</CODE> <BR> Returns the next element in the interation.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#nextIndex()">nextIndex</A></B>()</CODE> <BR> Returns the index of the element that would be returned by a subsequent call to next.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#previous()">previous</A></B>()</CODE> <BR> Returns the next element in the interation.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#previousIndex()">previousIndex</A></B>()</CODE> <BR> Returns the index of the element that would be returned by a subsequent call to previous.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#remove()">remove</A></B>()</CODE> <BR> Removes the last element that was returned by next or previous (optional operation).</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#set(java.lang.Object)">set</A></B>(java.lang.Object value)</CODE> <BR> Replaces the last element returned by next or previous with the specified element (optional operation).</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#setLockForWrite(boolean)">setLockForWrite</A></B>(boolean lockForWrite)</CODE> <BR> Changes whether write-locks will be obtained when reading with this cursor.</TD> </TR> </TABLE> <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>equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> </TR> </TABLE> <P> <!-- ============ 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="close(java.util.Iterator)"><!-- --></A><H3> close</H3> <PRE> public static void <B>close</B>(java.util.Iterator i)</PRE> <DL> <DD>Closes the given iterator using <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close()"><CODE>close()</CODE></A> if it is a <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html" title="class in com.sleepycat.bdb.collection"><CODE>StoredIterator</CODE></A>. If the given iterator is not a <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html" title="class in com.sleepycat.bdb.collection"><CODE>StoredIterator</CODE></A>, this method does nothing. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>i</CODE> - is the iterator to close. <DT><B>Throws:</B> <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="clone()"><!-- --></A><H3> clone</H3> <PRE> protected java.lang.Object <B>clone</B>()</PRE> <DL> <DD>Clones this iterator preserving its current position. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.lang.Object</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>a new <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html" title="class in com.sleepycat.bdb.collection"><CODE>StoredIterator</CODE></A> having the same position as this iterator.</DL> </DD> </DL> <HR> <A NAME="getLockForWrite()"><!-- --></A><H3> getLockForWrite</H3> <PRE> public final boolean <B>getLockForWrite</B>()</PRE> <DL> <DD>Returns whether write-locks will be obtained when reading with this cursor. Obtaining write-locks can prevent deadlocks when reading and then modifying data. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the write-lock setting.</DL> </DD> </DL> <HR> <A NAME="setLockForWrite(boolean)"><!-- --></A><H3> setLockForWrite</H3> <PRE> public void <B>setLockForWrite</B>(boolean lockForWrite)</PRE> <DL> <DD>Changes whether write-locks will be obtained when reading with this cursor. Obtaining write-locks can prevent deadlocks when reading and then modifying data. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>lockForWrite</CODE> - the write-lock setting.</DL> </DD> </DL> <HR> <A NAME="hasNext()"><!-- --></A><H3> hasNext</H3> <PRE> public boolean <B>hasNext</B>()</PRE> <DL> <DD>Returns true if this iterator has more elements when traversing in the forward direction. False is returned if the iterator has been closed. This method conforms to the <CODE>Iterator.hasNext()</CODE> interface. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>hasNext</CODE> in interface <CODE>java.util.Iterator</CODE><DT><B>Specified by:</B><DD><CODE>hasNext</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>whether <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#next()"><CODE>next()</CODE></A> will succeed. <DT><B>Throws:</B> <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="hasPrevious()"><!-- --></A><H3> hasPrevious</H3> <PRE> public boolean <B>hasPrevious</B>()</PRE> <DL> <DD>Returns true if this iterator has more elements when traversing in the reverse direction. It returns false if the iterator has been closed. This method conforms to the <CODE>ListIterator.hasPrevious()</CODE> interface. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>hasPrevious</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>whether <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#previous()"><CODE>previous()</CODE></A> will succeed. <DT><B>Throws:</B> <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="next()"><!-- --></A><H3> next</H3> <PRE> public java.lang.Object <B>next</B>()</PRE> <DL> <DD>Returns the next element in the interation. This method conforms to the <CODE>Iterator.next()</CODE> interface. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>next</CODE> in interface <CODE>java.util.Iterator</CODE><DT><B>Specified by:</B><DD><CODE>next</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the next element. <DT><B>Throws:</B> <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="previous()"><!-- --></A><H3> previous</H3> <PRE> public java.lang.Object <B>previous</B>()</PRE> <DL> <DD>Returns the next element in the interation. This method conforms to the <CODE>ListIterator.previous()</CODE> interface. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>previous</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the previous element. <DT><B>Throws:</B> <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="nextIndex()"><!-- --></A><H3> nextIndex</H3> <PRE> public int <B>nextIndex</B>()</PRE> <DL> <DD>Returns the index of the element that would be returned by a subsequent call to next. This method conforms to the <CODE>ListIterator.nextIndex()</CODE> interface except that it returns Integer.MAX_VALUE for stored lists when positioned at the end of the list, rather than returning the list size as specified by the ListIterator interface. This is because the database size is not available. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>nextIndex</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the next index. <DT><B>Throws:</B> <DD><CODE>java.lang.UnsupportedOperationException</CODE> - if this iterator's collection does not use record number keys. <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="previousIndex()"><!-- --></A><H3> previousIndex</H3> <PRE> public int <B>previousIndex</B>()</PRE> <DL> <DD>Returns the index of the element that would be returned by a subsequent call to previous. This method conforms to the <CODE>ListIterator.previousIndex()</CODE> interface. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>previousIndex</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the previous index. <DT><B>Throws:</B> <DD><CODE>java.lang.UnsupportedOperationException</CODE> - if this iterator's collection does not use record number keys. <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="set(java.lang.Object)"><!-- --></A><H3> set</H3> <PRE> public void <B>set</B>(java.lang.Object value)</PRE> <DL> <DD>Replaces the last element returned by next or previous with the specified element (optional operation). This method conforms to the <CODE>ListIterator.set(E)</CODE> interface. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>set</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>value</CODE> - the new value. <DT><B>Throws:</B> <DD><CODE>java.lang.UnsupportedOperationException</CODE> - if the collection is a <A HREF="../../../../com/sleepycat/bdb/collection/StoredKeySet.html" title="class in com.sleepycat.bdb.collection"><CODE>StoredKeySet</CODE></A> (the set returned by <CODE>Map.keySet()</CODE>), or if duplicates are sorted since this would change the iterator position, or if the collection is indexed, or if the collection is read-only. <DD><CODE>java.lang.IllegalArgumentException</CODE> - if an entity value binding is used and the primary key of the value given is different than the existing stored primary key. <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="remove()"><!-- --></A><H3> remove</H3> <PRE> public void <B>remove</B>()</PRE> <DL> <DD>Removes the last element that was returned by next or previous (optional operation). This method conforms to the <CODE>ListIterator.remove()</CODE> interface except that when the collection is a list and the RECNO-RENUMBER access method is not used, list indices will not be renumbered. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>remove</CODE> in interface <CODE>java.util.Iterator</CODE><DT><B>Specified by:</B><DD><CODE>remove</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.lang.UnsupportedOperationException</CODE> - if the collection is a sublist, or if the collection is read-only. <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="add(java.lang.Object)"><!-- --></A><H3> add</H3> <PRE> public void <B>add</B>(java.lang.Object value)</PRE> <DL> <DD>Inserts the specified element into the list or inserts a duplicate into other types of collections (optional operation). This method conforms to the <CODE>ListIterator.add(E)</CODE> interface when the collection is a list and the RECNO-RENUMBER access method is used. Otherwise, this method may only be called when duplicates are allowed. If duplicates are unsorted, the new value will be inserted in the same manner as list elements. If duplicates are sorted, the new value will be inserted in sort order. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE>add</CODE> in interface <CODE>java.util.ListIterator</CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>value</CODE> - the new value. <DT><B>Throws:</B> <DD><CODE>java.lang.UnsupportedOperationException</CODE> - if the collection is a sublist, or if the collection is indexed, or if the collection is read-only, or if the collection is a list and the RECNO-RENUMBER access method was not used, or if the collection is not a list and duplicates are not allowed. <DD><CODE>java.lang.IllegalStateException</CODE> - if the collection is empty and is not a list with RECNO-RENUMBER access. <DD><CODE>java.lang.IllegalArgumentException</CODE> - if a duplicate value is being added that already exists and duplicates are sorted. <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="count()"><!-- --></A><H3> count</H3> <PRE> public int <B>count</B>()</PRE> <DL> <DD>Returns the number of elements having the same key value as the key value of the element last returned by next() or previous(). If no duplicates are allowed, 1 is always returned. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the number of duplicates. <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if next() or previous() has not been called for this iterator, or if remove() or add() were called after the last call to next() or previous().</DL> </DD> </DL> <HR> <A NAME="close()"><!-- --></A><H3> close</H3> <PRE> public void <B>close</B>()</PRE> <DL> <DD>Closes this iterator. This method does not exist in the standard <CODE>Iterator</CODE> or <CODE>ListIterator</CODE> interfaces. <p>After being closed, only the <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#hasNext()"><CODE>hasNext()</CODE></A> and <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#hasPrevious()"><CODE>hasPrevious()</CODE></A> methods may be called and these will return false. <A HREF="../../../../com/sleepycat/bdb/collection/StoredIterator.html#close()"><CODE>close()</CODE></A> may also be called again and will do nothing. If other methods are called a <code>NullPointerException</code> will generally be thrown.</p> <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>RuntimeExceptionWrapper</CODE> - if a <A HREF="../../../../com/sleepycat/db/DbException.html" title="class in com.sleepycat.db"><CODE>DbException</CODE></A> is thrown.</DL> </DD> </DL> <HR> <A NAME="getCollection()"><!-- --></A><H3> getCollection</H3> <PRE> public final <A HREF="../../../../com/sleepycat/bdb/collection/StoredCollection.html" title="class in com.sleepycat.bdb.collection">StoredCollection</A> <B>getCollection</B>()</PRE> <DL> <DD>Returns the collection associated with this iterator. This method does not exist in the standard <CODE>Iterator</CODE> or <CODE>ListIterator</CODE> interfaces. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the collection associated with this iterator.</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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/sleepycat/bdb/collection/StoredEntrySet.html" title="class in com.sleepycat.bdb.collection"><B>PREV CLASS</B></A> <A HREF="../../../../com/sleepycat/bdb/collection/StoredKeySet.html" title="class in com.sleepycat.bdb.collection"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/sleepycat/bdb/collection/StoredIterator.html" target="_top"><B>FRAMES</B></A> <A HREF="StoredIterator.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> </BODY> </HTML>