blob: 4574f906ad3650d2e29f83337f657bdb0db8e4e0 [file] [log] [blame]
<!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.5.0_06) on Wed Jul 19 14:45:45 EDT 2006 -->
<TITLE>
DistinctResultIterator (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.cayenne.access.util.DistinctResultIterator class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../apache-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="DistinctResultIterator (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.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/cayenne/access/util/DependencySorter.html" title="interface in org.apache.cayenne.access.util"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/cayenne/access/util/IteratedSelectObserver.html" title="class in org.apache.cayenne.access.util"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/cayenne/access/util/DistinctResultIterator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DistinctResultIterator.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.cayenne.access.util</FONT>
<BR>
Class DistinctResultIterator</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cayenne.access.util.DistinctResultIterator</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>DistinctResultIterator</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></DL>
</PRE>
<P>
A ResultIterator that does in-memory filtering of rows to return only distinct rows.
Distinct comparison is done by comparing ObjectIds created from each row. Internally
DistinctResultIterator wraps another ResultIterator that provides the actual rows. The
current limitation is that once switched to reading ids instead of rows (i.e. when
"nextObjectId()" is called for the first time), it can't be used to read data rows
again. This is pretty sensible for most things in Cayenne.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>Author:</B></DT>
<DD>Andrus Adamchik</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>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#compareFullRows">compareFullRows</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#defaultEntity">defaultEntity</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Set</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#fetchedIds">fetchedIds</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#nextDataRow">nextDataRow</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#readingIds">readingIds</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#wrappedIterator">wrappedIterator</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/cayenne/access/util/DistinctResultIterator.html#DistinctResultIterator(org.apache.cayenne.access.ResultIterator, org.apache.cayenne.map.DbEntity, boolean)">DistinctResultIterator</A></B>(<A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A>&nbsp;wrappedIterator,
<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;defaultEntity,
boolean&nbsp;compareFullRows)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new DistinctResultIterator wrapping another ResultIterator.</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/cayenne/access/util/DistinctResultIterator.html#close()">close</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLoses underlying ResultIterator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#dataRows(boolean)">dataRows</A></B>(boolean&nbsp;close)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all data rows.</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/cayenne/access/util/DistinctResultIterator.html#getDataRowWidth()">getDataRowWidth</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of columns in the result row.</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/cayenne/access/util/DistinctResultIterator.html#hasNextRow()">hasNextRow</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if there is at least one more record
that can be read from the iterator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#nextDataRow()">nextDataRow</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next result row as a Map.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#nextObjectId(org.apache.cayenne.map.DbEntity)">nextObjectId</A></B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;entity)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Map for the next ObjectId.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/access/util/DistinctResultIterator.html#skipDataRow()">skipDataRow</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Skips current data row instead of reading it.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="wrappedIterator"><!-- --></A><H3>
wrappedIterator</H3>
<PRE>
protected <A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A> <B>wrappedIterator</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="fetchedIds"><!-- --></A><H3>
fetchedIds</H3>
<PRE>
protected java.util.Set <B>fetchedIds</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="nextDataRow"><!-- --></A><H3>
nextDataRow</H3>
<PRE>
protected java.util.Map <B>nextDataRow</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="defaultEntity"><!-- --></A><H3>
defaultEntity</H3>
<PRE>
protected <A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A> <B>defaultEntity</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="compareFullRows"><!-- --></A><H3>
compareFullRows</H3>
<PRE>
protected boolean <B>compareFullRows</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="readingIds"><!-- --></A><H3>
readingIds</H3>
<PRE>
protected boolean <B>readingIds</B></PRE>
<DL>
<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="DistinctResultIterator(org.apache.cayenne.access.ResultIterator, org.apache.cayenne.map.DbEntity, boolean)"><!-- --></A><H3>
DistinctResultIterator</H3>
<PRE>
public <B>DistinctResultIterator</B>(<A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A>&nbsp;wrappedIterator,
<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;defaultEntity,
boolean&nbsp;compareFullRows)
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD>Creates new DistinctResultIterator wrapping another ResultIterator.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>wrappedIterator</CODE> - <DD><CODE>defaultEntity</CODE> - an entity needed to build ObjectIds for distinct comparison.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></CODE></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="close()"><!-- --></A><H3>
close</H3>
<PRE>
public void <B>close</B>()
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD>CLoses underlying ResultIterator.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="dataRows(boolean)"><!-- --></A><H3>
dataRows</H3>
<PRE>
public java.util.List <B>dataRows</B>(boolean&nbsp;close)
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD>Returns all data rows.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#dataRows(boolean)">dataRows</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getDataRowWidth()"><!-- --></A><H3>
getDataRowWidth</H3>
<PRE>
public int <B>getDataRowWidth</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#getDataRowWidth()">ResultIterator</A></CODE></B></DD>
<DD>Returns the number of columns in the result row.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#getDataRowWidth()">getDataRowWidth</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasNextRow()"><!-- --></A><H3>
hasNextRow</H3>
<PRE>
public boolean <B>hasNextRow</B>()
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#hasNextRow()">ResultIterator</A></CODE></B></DD>
<DD>Returns true if there is at least one more record
that can be read from the iterator.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#hasNextRow()">hasNextRow</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="nextDataRow()"><!-- --></A><H3>
nextDataRow</H3>
<PRE>
public java.util.Map <B>nextDataRow</B>()
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#nextDataRow()">ResultIterator</A></CODE></B></DD>
<DD>Returns the next result row as a Map.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#nextDataRow()">nextDataRow</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="nextObjectId(org.apache.cayenne.map.DbEntity)"><!-- --></A><H3>
nextObjectId</H3>
<PRE>
public java.util.Map <B>nextObjectId</B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;entity)
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD>Returns a Map for the next ObjectId. After calling this method, calls to
"nextDataRow()" will result in exceptions.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#nextObjectId(org.apache.cayenne.map.DbEntity)">nextObjectId</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="skipDataRow()"><!-- --></A><H3>
skipDataRow</H3>
<PRE>
public void <B>skipDataRow</B>()
throws <A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#skipDataRow()">ResultIterator</A></CODE></B></DD>
<DD>Skips current data row instead of reading it.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html#skipDataRow()">skipDataRow</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/cayenne/CayenneException.html" title="class in org.apache.cayenne">CayenneException</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="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-files/index-1.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/cayenne/access/util/DependencySorter.html" title="interface in org.apache.cayenne.access.util"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/cayenne/access/util/IteratedSelectObserver.html" title="class in org.apache.cayenne.access.util"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/cayenne/access/util/DistinctResultIterator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DistinctResultIterator.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>
<i>Copyright &#169; 2001-2006 <a href=
"http://apache.org" target="_top">Apache.org</a> All Rights Reserved.</i>
</BODY>
</HTML>