blob: 13d67d775a29d6ce64b06137311eaa3aa56db7e4 [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.6.0_24) on Sat Jun 11 11:32:58 EEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
QueryResult (Cayenne Documentation 3.0.2 API)
</TITLE>
<META NAME="date" CONTENT="2011-06-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="QueryResult (Cayenne Documentation 3.0.2 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/QueryResult.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/cayenne/access/QueryLogger.html" title="class in org.apache.cayenne.access"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/access/QueryTranslator.html" title="class in org.apache.cayenne.access"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/access/QueryResult.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="QueryResult.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</FONT>
<BR>
Class QueryResult</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">org.apache.cayenne.access.util.DefaultOperationObserver</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cayenne.access.QueryResult</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/cayenne/access/OperationHints.html" title="interface in org.apache.cayenne.access">OperationHints</A>, <A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>QueryResult</B><DT>extends <A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></DL>
</PRE>
<P>
QueryResult encapsulates a result of execution of zero or more queries using
QueryEngine. QueryResult supports queries with multiple mixed selects and updates, such
as ProcedureQueries.
<P>
<P>
<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;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#queries">queries</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.cayenne.access.util.DefaultOperationObserver"><!-- --></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.cayenne.access.util.<A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#globalExceptions">globalExceptions</A>, <A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#queryExceptions">queryExceptions</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/cayenne/access/QueryResult.html#QueryResult()">QueryResult</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#clear()">clear</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears any previously collected information.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#getFirstRows(org.apache.cayenne.query.Query)">getFirstRows</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the first results for the query.</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/QueryResult.html#getFirstUpdateCount(org.apache.cayenne.query.Query)">getFirstUpdateCount</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the first update count for the query.</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/QueryResult.html#getFirstUpdateCounts(org.apache.cayenne.query.Query)">getFirstUpdateCounts</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the first update count.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#getQueries()">getQueries</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an iterator over all executed queries in the order they were executed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#getResults(org.apache.cayenne.query.Query)">getResults</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of all results of a given query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;?&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#getRows(org.apache.cayenne.query.Query)">getRows</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a List that itself contains Lists of data rows for each ResultSet returned
by the query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/access/QueryResult.html#getUpdates(org.apache.cayenne.query.Query)">getUpdates</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a List that contains java.lang.Integer objects for each one of the update
counts returned by the query.</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/QueryResult.html#isIteratedResult()">isIteratedResult</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Always returns <code>false</code>, iterated results are not supported.</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/QueryResult.html#nextBatchCount(org.apache.cayenne.query.Query, int[])">nextBatchCount</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
int[]&nbsp;resultCount)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Callback method invoked after a batch update is executed.</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/QueryResult.html#nextCount(org.apache.cayenne.query.Query, int)">nextCount</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
int&nbsp;resultCount)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Callback method invoked after an updating query is executed.</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/QueryResult.html#nextGlobalException(java.lang.Exception)">nextGlobalException</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;ex)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overrides superclass implementation to rethrow an exception immediately.</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/QueryResult.html#nextQueryException(org.apache.cayenne.query.Query, java.lang.Exception)">nextQueryException</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;ex)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overrides superclass implementation to rethrow an exception immediately.</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/QueryResult.html#nextRows(org.apache.cayenne.query.Query, java.util.List)">nextRows</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;?&gt;&nbsp;dataRows)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Callback method invoked for each processed ResultSet.</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/QueryResult.html#nextRows(org.apache.cayenne.query.Query, org.apache.cayenne.access.ResultIterator)">nextRows</A></B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;q,
<A HREF="../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A>&nbsp;it)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes ResultIterator without reading its data.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.cayenne.access.util.DefaultOperationObserver"><!-- --></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.cayenne.access.util.<A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#getGlobalExceptions()">getGlobalExceptions</A>, <A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#getQueryExceptions()">getQueryExceptions</A>, <A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#hasExceptions()">hasExceptions</A>, <A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextGeneratedRows(org.apache.cayenne.query.Query, org.apache.cayenne.access.ResultIterator)">nextGeneratedRows</A>, <A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#printExceptions(java.io.PrintWriter)">printExceptions</A></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.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></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="queries"><!-- --></A><H3>
queries</H3>
<PRE>
protected <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>queries</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="QueryResult()"><!-- --></A><H3>
QueryResult</H3>
<PRE>
public <B>QueryResult</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public void <B>clear</B>()</PRE>
<DL>
<DD>Clears any previously collected information.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getQueries()"><!-- --></A><H3>
getQueries</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A> <B>getQueries</B>()</PRE>
<DL>
<DD>Returns an iterator over all executed queries in the order they were executed.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getResults(org.apache.cayenne.query.Query)"><!-- --></A><H3>
getResults</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getResults</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Returns a list of all results of a given query. This is potentially a mix of
java.lang.Integer values for update operations and java.util.List for select
operations. Results are returned in the order they were obtained.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getFirstUpdateCount(org.apache.cayenne.query.Query)"><!-- --></A><H3>
getFirstUpdateCount</H3>
<PRE>
public int <B>getFirstUpdateCount</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Returns the first update count for the query. This is a shortcut for <code>(Integer)getUpdates(query).get(0)<code>, kind of like Google's "I'm feeling lucky".
Returns -1 if no update count is found for the query.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getFirstUpdateCounts(org.apache.cayenne.query.Query)"><!-- --></A><H3>
getFirstUpdateCounts</H3>
<PRE>
public int[] <B>getFirstUpdateCounts</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Returns the first update count. Returns int[0] if there was no update results for
the query.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getFirstRows(org.apache.cayenne.query.Query)"><!-- --></A><H3>
getFirstRows</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getFirstRows</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Returns the first results for the query. This is a shortcut for <code>(List)getRows(query).get(0)<code>, kind of like Google's "I'm feeling lucky".
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getRows(org.apache.cayenne.query.Query)"><!-- --></A><H3>
getRows</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;?&gt; <B>getRows</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Returns a List that itself contains Lists of data rows for each ResultSet returned
by the query. ResultSets are returned in the oder they were obtained. Any updates
that were performed are not included.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getUpdates(org.apache.cayenne.query.Query)"><!-- --></A><H3>
getUpdates</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getUpdates</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Returns a List that contains java.lang.Integer objects for each one of the update
counts returned by the query. Update counts are returned in the order they were
obtained. Batched and regular updates are combined together.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="nextQueryException(org.apache.cayenne.query.Query, java.lang.Exception)"><!-- --></A><H3>
nextQueryException</H3>
<PRE>
public void <B>nextQueryException</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;ex)</PRE>
<DL>
<DD>Overrides superclass implementation to rethrow an exception immediately.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextQueryException(org.apache.cayenne.query.Query, java.lang.Exception)">nextQueryException</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextQueryException(org.apache.cayenne.query.Query, java.lang.Exception)">nextQueryException</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="nextGlobalException(java.lang.Exception)"><!-- --></A><H3>
nextGlobalException</H3>
<PRE>
public void <B>nextGlobalException</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;ex)</PRE>
<DL>
<DD>Overrides superclass implementation to rethrow an exception immediately.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextGlobalException(java.lang.Exception)">nextGlobalException</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextGlobalException(java.lang.Exception)">nextGlobalException</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isIteratedResult()"><!-- --></A><H3>
isIteratedResult</H3>
<PRE>
public boolean <B>isIteratedResult</B>()</PRE>
<DL>
<DD>Always returns <code>false</code>, iterated results are not supported.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationHints.html#isIteratedResult()">isIteratedResult</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationHints.html" title="interface in org.apache.cayenne.access">OperationHints</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#isIteratedResult()">isIteratedResult</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="nextBatchCount(org.apache.cayenne.query.Query, int[])"><!-- --></A><H3>
nextBatchCount</H3>
<PRE>
public void <B>nextBatchCount</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
int[]&nbsp;resultCount)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextBatchCount(org.apache.cayenne.query.Query, int[])">OperationObserver</A></CODE></B></DD>
<DD>Callback method invoked after a batch update is executed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextBatchCount(org.apache.cayenne.query.Query, int[])">nextBatchCount</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextBatchCount(org.apache.cayenne.query.Query, int[])">nextBatchCount</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="nextCount(org.apache.cayenne.query.Query, int)"><!-- --></A><H3>
nextCount</H3>
<PRE>
public void <B>nextCount</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
int&nbsp;resultCount)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextCount(org.apache.cayenne.query.Query, int)">OperationObserver</A></CODE></B></DD>
<DD>Callback method invoked after an updating query is executed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextCount(org.apache.cayenne.query.Query, int)">nextCount</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextCount(org.apache.cayenne.query.Query, int)">nextCount</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="nextRows(org.apache.cayenne.query.Query, java.util.List)"><!-- --></A><H3>
nextRows</H3>
<PRE>
public void <B>nextRows</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;query,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;?&gt;&nbsp;dataRows)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextRows(org.apache.cayenne.query.Query, java.util.List)">OperationObserver</A></CODE></B></DD>
<DD>Callback method invoked for each processed ResultSet.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextRows(org.apache.cayenne.query.Query, java.util.List)">nextRows</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextRows(org.apache.cayenne.query.Query, java.util.List)">nextRows</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="nextRows(org.apache.cayenne.query.Query, org.apache.cayenne.access.ResultIterator)"><!-- --></A><H3>
nextRows</H3>
<PRE>
public void <B>nextRows</B>(<A HREF="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</A>&nbsp;q,
<A HREF="../../../../org/apache/cayenne/access/ResultIterator.html" title="interface in org.apache.cayenne.access">ResultIterator</A>&nbsp;it)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextRows(org.apache.cayenne.query.Query, org.apache.cayenne.access.ResultIterator)">DefaultOperationObserver</A></CODE></B></DD>
<DD>Closes ResultIterator without reading its data. If you implement a custom subclass,
only call super if closing the iterator is what you need.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html#nextRows(org.apache.cayenne.query.Query, org.apache.cayenne.access.ResultIterator)">nextRows</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/access/OperationObserver.html" title="interface in org.apache.cayenne.access">OperationObserver</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html#nextRows(org.apache.cayenne.query.Query, org.apache.cayenne.access.ResultIterator)">nextRows</A></CODE> in class <CODE><A HREF="../../../../org/apache/cayenne/access/util/DefaultOperationObserver.html" title="class in org.apache.cayenne.access.util">DefaultOperationObserver</A></CODE></DL>
</DD>
<DD><DL>
</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/QueryResult.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/cayenne/access/QueryLogger.html" title="class in org.apache.cayenne.access"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/access/QueryTranslator.html" title="class in org.apache.cayenne.access"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/access/QueryResult.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="QueryResult.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; 2001-2011 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All Rights Reserved.
</BODY>
</HTML>