<!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_09) on Fri Apr 20 10:10:49 CDT 2007 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
SelectImpl.SelectResult (OpenJPA 0.9.7-incubating API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.jdbc.sql.SelectImpl.SelectResult class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="SelectImpl.SelectResult (OpenJPA 0.9.7-incubating API)";
}
</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="class-use/SelectImpl.SelectResult.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/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Sized.html" title="class in org.apache.openjpa.jdbc.sql"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SelectImpl.SelectResult.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.jdbc.sql</FONT>
<BR>
Class SelectImpl.SelectResult</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">org.apache.openjpa.jdbc.sql.AbstractResult</A>
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">org.apache.openjpa.jdbc.sql.ResultSetResult</A>
          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.jdbc.sql.SelectImpl.SelectResult</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A>, <A HREF="../../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A></DD>
</DL>
<DL>
<DT><B>Enclosing class:</B><DD><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql">SelectImpl</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public static class <B>SelectImpl.SelectResult</B><DT>extends <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">ResultSetResult</A></DL>
</PRE>

<P>
A <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql"><CODE>Result</CODE></A> implementation wrapped around this select.
<P>

<P>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#SelectImpl.SelectResult(java.sql.Connection, java.sql.Statement, java.sql.ResultSet, org.apache.openjpa.jdbc.sql.DBDictionary)">SelectImpl.SelectResult</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html" title="class or interface in java.sql">Connection</A>&nbsp;conn,
                        <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" title="class or interface in java.sql">Statement</A>&nbsp;stmnt,
                        <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html" title="class or interface in java.sql">ResultSet</A>&nbsp;rs,
                        <A HREF="../../../../../org/apache/openjpa/jdbc/sql/DBDictionary.html" title="class in org.apache.openjpa.jdbc.sql">DBDictionary</A>&nbsp;dict)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</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>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#absoluteInternal(int)">absoluteInternal</A></B>(int&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Throws an exception by default.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#containsAllInternal(java.lang.Object[], org.apache.openjpa.jdbc.sql.Joins)">containsAllInternal</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;objs,
                    <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether this result contains data for all the given ids or
 columns.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">containsInternal</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj,
                 <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether this result contains data for the given id or column.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#crossJoin(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.Table)">crossJoin</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;localTable,
          <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;foreignTable)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a cross join on the given tables.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#findObject(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">findObject</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj,
           <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 1-based result set index for the given column or id, or a
 non-positive number if the column is not contained in this result.</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/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#getEager(org.apache.openjpa.jdbc.meta.FieldMapping)">getEager</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A>&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The eager result for the given key, or null if none.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql">SelectImpl</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#getSelect()">getSelect</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select for this result.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#isDirty()">isDirty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if this instance has a path, any joins, or a variable.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#isEmpty()">isEmpty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether we have any joins.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#isOuter()">isOuter</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether this joins path results in outer joins.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#join(org.apache.openjpa.jdbc.schema.ForeignKey, boolean, boolean)">join</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
     boolean&nbsp;inverse,
     boolean&nbsp;toMany)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Join the columns of the given foreign key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#joinCount()">joinCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the maximum number of joins contained in this instance at any
 time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#joinRelation(java.lang.String, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping, int, boolean, boolean)">joinRelation</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
             <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
             <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;target,
             int&nbsp;subs,
             boolean&nbsp;inverse,
             boolean&nbsp;toMany)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Join the columns of the given foreign key, which represents a relation
 via the given field name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.apache.openjpa.jdbc.sql.JoinSet</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#joins()">joins</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the set of <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Join.html" title="class in org.apache.openjpa.jdbc.sql"><CODE>Join</CODE></A> elements, or null if none.</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/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#load(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Joins)">load</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
     <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
     <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCFetchConfiguration.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCFetchConfiguration</A>&nbsp;fetch,
     <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load a pc object using the given store manager.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#newJoins()">newJoins</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a no-op joins object by default.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#nextInternal()">nextInternal</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Advance this row.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#nullJoins()">nullJoins</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Null the set of <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Join.html" title="class in org.apache.openjpa.jdbc.sql"><CODE>Join</CODE></A> elements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#outerJoin(org.apache.openjpa.jdbc.schema.ForeignKey, boolean, boolean)">outerJoin</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
          boolean&nbsp;inverse,
          boolean&nbsp;toMany)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Join the columns of the given foreign key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#outerJoinRelation(java.lang.String, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping, int, boolean, boolean)">outerJoinRelation</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                  <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                  <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;target,
                  int&nbsp;subs,
                  boolean&nbsp;inverse,
                  boolean&nbsp;toMany)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Join the columns of the given foreign key, which represents a relation
 via the given field name.</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/j2se/1.5.0/docs/api/java/lang/StringBuffer.html" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#path()">path</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the relation path traversed by these joins, or null if none.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#pushBack()">pushBack</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Push back the last result.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#putEager(org.apache.openjpa.jdbc.meta.FieldMapping, java.lang.Object)">putEager</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A>&nbsp;key,
         <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;res)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The eager result for the given key, or null if none.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.apache.openjpa.jdbc.sql.PathJoins</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#setOuter(boolean)">setOuter</A></B>(boolean&nbsp;outer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark this as an outer joins set.</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/openjpa/jdbc/sql/SelectImpl.SelectResult.html#setSelect(org.apache.openjpa.jdbc.sql.SelectImpl)">setSelect</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql">SelectImpl</A>&nbsp;sel)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select for this result.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#setSubselect(java.lang.String)">setSubselect</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;alias)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the subquery alias.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html#setVariable(java.lang.String)">setVariable</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;var)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the variable name being traversed into with the next join.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.sql.ResultSetResult"><!-- --></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.openjpa.jdbc.sql.<A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">ResultSetResult</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#close()">close</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getArrayInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getArrayInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getAsciiStreamInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getAsciiStreamInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getBigDecimalInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getBigDecimalInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getBigIntegerInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getBigIntegerInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getBinaryStreamInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getBinaryStreamInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getBlobInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getBlobInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getBooleanInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getBooleanInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getByteInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getByteInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getBytesInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getBytesInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getCalendarInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getCalendarInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getCharacterStreamInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getCharacterStreamInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getCharInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getCharInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getClobInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getClobInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getCloseConnection()">getCloseConnection</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getDateInternal(java.lang.Object, java.util.Calendar, org.apache.openjpa.jdbc.sql.Joins)">getDateInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getDateInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getDateInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getDBDictionary()">getDBDictionary</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getDoubleInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getDoubleInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getFloatInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getFloatInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getIntInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getIntInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getLocaleInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getLocaleInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getLongInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getLongInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getNumberInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getNumberInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getObjectInternal(java.lang.Object, int, java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getObjectInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getRefInternal(java.lang.Object, java.util.Map, org.apache.openjpa.jdbc.sql.Joins)">getRefInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getResultSet()">getResultSet</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getShortInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getShortInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getSQLObjectInternal(java.lang.Object, java.util.Map, org.apache.openjpa.jdbc.sql.Joins)">getSQLObjectInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getStatement()">getStatement</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getStore()">getStore</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getStringInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getStringInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getTimeInternal(java.lang.Object, java.util.Calendar, org.apache.openjpa.jdbc.sql.Joins)">getTimeInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#getTimestampInternal(java.lang.Object, java.util.Calendar, org.apache.openjpa.jdbc.sql.Joins)">getTimestampInternal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#setCloseConnection(boolean)">setCloseConnection</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#setStore(org.apache.openjpa.jdbc.kernel.JDBCStore)">setStore</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#size()">size</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#supportsRandomAccess()">supportsRandomAccess</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">translate</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#wasNull()">wasNull</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.sql.AbstractResult"><!-- --></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.openjpa.jdbc.sql.<A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#absolute(int)">absolute</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#checkNull(java.lang.Object)">checkNull</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#closeEagerMap(java.util.Map)">closeEagerMap</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#contains(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">contains</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#contains(java.lang.Object)">contains</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#containsAll(org.apache.openjpa.jdbc.schema.Column[], org.apache.openjpa.jdbc.sql.Joins)">containsAll</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#containsAll(java.lang.Object[])">containsAll</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#endDataRequest()">endDataRequest</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getArray(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getArray</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getArray(java.lang.Object)">getArray</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getAsciiStream(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getAsciiStream</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getAsciiStream(java.lang.Object)">getAsciiStream</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBaseMapping()">getBaseMapping</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBigDecimal(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getBigDecimal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBigDecimal(java.lang.Object)">getBigDecimal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBigInteger(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getBigInteger</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBigInteger(java.lang.Object)">getBigInteger</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBinaryStream(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getBinaryStream</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBinaryStream(java.lang.Object)">getBinaryStream</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBlob(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getBlob</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBlob(java.lang.Object)">getBlob</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBoolean(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getBoolean</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBoolean(java.lang.Object)">getBoolean</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getByte(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getByte</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getByte(java.lang.Object)">getByte</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBytes(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getBytes</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getBytes(java.lang.Object)">getBytes</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getCalendar(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getCalendar</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getCalendar(java.lang.Object)">getCalendar</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getChar(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getChar</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getChar(java.lang.Object)">getChar</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getCharacterStream(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getCharacterStream</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getCharacterStream(java.lang.Object)">getCharacterStream</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getClob(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getClob</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getClob(java.lang.Object)">getClob</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getDate(org.apache.openjpa.jdbc.schema.Column, java.util.Calendar, org.apache.openjpa.jdbc.sql.Joins)">getDate</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getDate(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getDate</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getDate(java.lang.Object)">getDate</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getDate(java.lang.Object, java.util.Calendar)">getDate</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getDouble(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getDouble</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getDouble(java.lang.Object)">getDouble</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getEagerMap(boolean)">getEagerMap</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getFloat(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getFloat</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getFloat(java.lang.Object)">getFloat</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getInt(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getInt</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getInt(java.lang.Object)">getInt</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getLocale(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getLocale</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getLocale(java.lang.Object)">getLocale</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getLong(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getLong</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getLong(java.lang.Object)">getLong</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getNumber(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getNumber</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getNumber(java.lang.Object)">getNumber</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getObject(org.apache.openjpa.jdbc.schema.Column, java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">getObject</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getObject(java.lang.Object, int, java.lang.Object)">getObject</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getRef(org.apache.openjpa.jdbc.schema.Column, java.util.Map, org.apache.openjpa.jdbc.sql.Joins)">getRef</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getRef(java.lang.Object, java.util.Map)">getRef</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getShort(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getShort</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getShort(java.lang.Object)">getShort</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getSQLObject(org.apache.openjpa.jdbc.schema.Column, java.util.Map, org.apache.openjpa.jdbc.sql.Joins)">getSQLObject</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getSQLObject(java.lang.Object, java.util.Map)">getSQLObject</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getString(org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.sql.Joins)">getString</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getString(java.lang.Object)">getString</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getTime(org.apache.openjpa.jdbc.schema.Column, java.util.Calendar, org.apache.openjpa.jdbc.sql.Joins)">getTime</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getTime(java.lang.Object, java.util.Calendar)">getTime</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getTimestamp(org.apache.openjpa.jdbc.schema.Column, java.util.Calendar, org.apache.openjpa.jdbc.sql.Joins)">getTimestamp</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getTimestamp(java.lang.Object, java.util.Calendar)">getTimestamp</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#indexOf()">indexOf</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#isLocking()">isLocking</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#load(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration)">load</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#next()">next</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#setBaseMapping(org.apache.openjpa.jdbc.meta.ClassMapping)">setBaseMapping</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#setEagerMap(java.util.Map)">setEagerMap</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#setIndexOf(int)">setIndexOf</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#setLocking(boolean)">setLocking</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#startDataRequest(java.lang.Object)">startDataRequest</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/j2se/1.5.0/docs/api/java/lang/Object.html" 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/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="SelectImpl.SelectResult(java.sql.Connection, java.sql.Statement, java.sql.ResultSet, org.apache.openjpa.jdbc.sql.DBDictionary)"><!-- --></A><H3>
SelectImpl.SelectResult</H3>
<PRE>
public <B>SelectImpl.SelectResult</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html" title="class or interface in java.sql">Connection</A>&nbsp;conn,
                               <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" title="class or interface in java.sql">Statement</A>&nbsp;stmnt,
                               <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html" title="class or interface in java.sql">ResultSet</A>&nbsp;rs,
                               <A HREF="../../../../../org/apache/openjpa/jdbc/sql/DBDictionary.html" title="class in org.apache.openjpa.jdbc.sql">DBDictionary</A>&nbsp;dict)</PRE>
<DL>
<DD>Constructor.
<P>
</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="getSelect()"><!-- --></A><H3>
getSelect</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql">SelectImpl</A> <B>getSelect</B>()</PRE>
<DL>
<DD>Select for this result.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSelect(org.apache.openjpa.jdbc.sql.SelectImpl)"><!-- --></A><H3>
setSelect</H3>
<PRE>
public void <B>setSelect</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql">SelectImpl</A>&nbsp;sel)</PRE>
<DL>
<DD>Select for this result.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getEager(org.apache.openjpa.jdbc.meta.FieldMapping)"><!-- --></A><H3>
getEager</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getEager</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A>&nbsp;key)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#getEager(org.apache.openjpa.jdbc.meta.FieldMapping)">Result</A></CODE></B></DD>
<DD>The eager result for the given key, or null if none.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#getEager(org.apache.openjpa.jdbc.meta.FieldMapping)">getEager</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#getEager(org.apache.openjpa.jdbc.meta.FieldMapping)">getEager</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="putEager(org.apache.openjpa.jdbc.meta.FieldMapping, java.lang.Object)"><!-- --></A><H3>
putEager</H3>
<PRE>
public void <B>putEager</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A>&nbsp;key,
                     <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;res)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#putEager(org.apache.openjpa.jdbc.meta.FieldMapping, java.lang.Object)">Result</A></CODE></B></DD>
<DD>The eager result for the given key, or null if none.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#putEager(org.apache.openjpa.jdbc.meta.FieldMapping, java.lang.Object)">putEager</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#putEager(org.apache.openjpa.jdbc.meta.FieldMapping, java.lang.Object)">putEager</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="load(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Joins)"><!-- --></A><H3>
load</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>load</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                   <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                   <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCFetchConfiguration.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCFetchConfiguration</A>&nbsp;fetch,
                   <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)
            throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#load(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Joins)">Result</A></CODE></B></DD>
<DD>Load a pc object using the given store manager.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#load(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Joins)">load</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#load(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration, org.apache.openjpa.jdbc.sql.Joins)">load</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="newJoins()"><!-- --></A><H3>
newJoins</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>newJoins</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#newJoins()">AbstractResult</A></CODE></B></DD>
<DD>Returns a no-op joins object by default.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#newJoins()">newJoins</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#newJoins()">newJoins</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)"><!-- --></A><H3>
containsInternal</H3>
<PRE>
protected boolean <B>containsInternal</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj,
                                   <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">AbstractResult</A></CODE></B></DD>
<DD>Return whether this result contains data for the given id or column.
 The id or column has not beed passed through <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)"><CODE>AbstractResult.translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)</CODE></A>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">containsInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">ResultSetResult</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="containsAllInternal(java.lang.Object[], org.apache.openjpa.jdbc.sql.Joins)"><!-- --></A><H3>
containsAllInternal</H3>
<PRE>
protected boolean <B>containsAllInternal</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;objs,
                                      <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)
                               throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#containsAllInternal(java.lang.Object[], org.apache.openjpa.jdbc.sql.Joins)">AbstractResult</A></CODE></B></DD>
<DD>Return whether this result contains data for all the given ids or
 columns. The ids or columns have not been passed through
 <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)"><CODE>AbstractResult.translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)</CODE></A>. Delegates to <A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)"><CODE>AbstractResult.containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)</CODE></A> by default.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#containsAllInternal(java.lang.Object[], org.apache.openjpa.jdbc.sql.Joins)">containsAllInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="pushBack()"><!-- --></A><H3>
pushBack</H3>
<PRE>
public void <B>pushBack</B>()
              throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#pushBack()">Result</A></CODE></B></DD>
<DD>Push back the last result. In other words, just ignore the next call
 to <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#next()"><CODE>Result.next()</CODE></A>. After the first time this method is called,
 additional calls before a call to <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#next()"><CODE>Result.next()</CODE></A> or <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#absolute(int)"><CODE>Result.absolute(int)</CODE></A>
 should have no further affect.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html#pushBack()">pushBack</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#pushBack()">pushBack</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html" title="class in org.apache.openjpa.jdbc.sql">AbstractResult</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="absoluteInternal(int)"><!-- --></A><H3>
absoluteInternal</H3>
<PRE>
protected boolean <B>absoluteInternal</B>(int&nbsp;row)
                            throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#absoluteInternal(int)">AbstractResult</A></CODE></B></DD>
<DD>Throws an exception by default.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#absoluteInternal(int)">absoluteInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">ResultSetResult</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="nextInternal()"><!-- --></A><H3>
nextInternal</H3>
<PRE>
protected boolean <B>nextInternal</B>()
                        throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/AbstractResult.html#nextInternal()">AbstractResult</A></CODE></B></DD>
<DD>Advance this row.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#nextInternal()">nextInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">ResultSetResult</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="findObject(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)"><!-- --></A><H3>
findObject</H3>
<PRE>
protected int <B>findObject</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj,
                         <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A>&nbsp;joins)
                  throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#findObject(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">ResultSetResult</A></CODE></B></DD>
<DD>Return the 1-based result set index for the given column or id, or a
 non-positive number if the column is not contained in this result.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html#findObject(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)">findObject</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/ResultSetResult.html" title="class in org.apache.openjpa.jdbc.sql">ResultSetResult</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="isOuter()"><!-- --></A><H3>
isOuter</H3>
<PRE>
public boolean <B>isOuter</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#isOuter()">Joins</A></CODE></B></DD>
<DD>Whether this joins path results in outer joins.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setOuter(boolean)"><!-- --></A><H3>
setOuter</H3>
<PRE>
public org.apache.openjpa.jdbc.sql.PathJoins <B>setOuter</B>(boolean&nbsp;outer)</PRE>
<DL>
<DD>Mark this as an outer joins set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isDirty()"><!-- --></A><H3>
isDirty</H3>
<PRE>
public boolean <B>isDirty</B>()</PRE>
<DL>
<DD>Return true if this instance has a path, any joins, or a variable.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="path()"><!-- --></A><H3>
path</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/StringBuffer.html" title="class or interface in java.lang">StringBuffer</A> <B>path</B>()</PRE>
<DL>
<DD>Return the relation path traversed by these joins, or null if none.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="joins()"><!-- --></A><H3>
joins</H3>
<PRE>
public org.apache.openjpa.jdbc.sql.JoinSet <B>joins</B>()</PRE>
<DL>
<DD>Return the set of <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Join.html" title="class in org.apache.openjpa.jdbc.sql"><CODE>Join</CODE></A> elements, or null if none.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="joinCount()"><!-- --></A><H3>
joinCount</H3>
<PRE>
public int <B>joinCount</B>()</PRE>
<DL>
<DD>Return the maximum number of joins contained in this instance at any
 time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nullJoins()"><!-- --></A><H3>
nullJoins</H3>
<PRE>
public void <B>nullJoins</B>()</PRE>
<DL>
<DD>Null the set of <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Join.html" title="class in org.apache.openjpa.jdbc.sql"><CODE>Join</CODE></A> elements.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isEmpty()"><!-- --></A><H3>
isEmpty</H3>
<PRE>
public boolean <B>isEmpty</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#isEmpty()">Joins</A></CODE></B></DD>
<DD>Whether we have any joins.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="crossJoin(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
crossJoin</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>crossJoin</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;localTable,
                       <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;foreignTable)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#crossJoin(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.Table)">Joins</A></CODE></B></DD>
<DD>Perform a cross join on the given tables.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="join(org.apache.openjpa.jdbc.schema.ForeignKey, boolean, boolean)"><!-- --></A><H3>
join</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>join</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                  boolean&nbsp;inverse,
                  boolean&nbsp;toMany)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#join(org.apache.openjpa.jdbc.schema.ForeignKey, boolean, boolean)">Joins</A></CODE></B></DD>
<DD>Join the columns of the given foreign key.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="outerJoin(org.apache.openjpa.jdbc.schema.ForeignKey, boolean, boolean)"><!-- --></A><H3>
outerJoin</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>outerJoin</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                       boolean&nbsp;inverse,
                       boolean&nbsp;toMany)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#outerJoin(org.apache.openjpa.jdbc.schema.ForeignKey, boolean, boolean)">Joins</A></CODE></B></DD>
<DD>Join the columns of the given foreign key.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="joinRelation(java.lang.String, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping, int, boolean, boolean)"><!-- --></A><H3>
joinRelation</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>joinRelation</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                          <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                          <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;target,
                          int&nbsp;subs,
                          boolean&nbsp;inverse,
                          boolean&nbsp;toMany)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#joinRelation(java.lang.String, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping, int, boolean, boolean)">Joins</A></CODE></B></DD>
<DD>Join the columns of the given foreign key, which represents a relation
 via the given field name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="outerJoinRelation(java.lang.String, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping, int, boolean, boolean)"><!-- --></A><H3>
outerJoinRelation</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>outerJoinRelation</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                               <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                               <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;target,
                               int&nbsp;subs,
                               boolean&nbsp;inverse,
                               boolean&nbsp;toMany)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#outerJoinRelation(java.lang.String, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping, int, boolean, boolean)">Joins</A></CODE></B></DD>
<DD>Join the columns of the given foreign key, which represents a relation
 via the given field name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setVariable(java.lang.String)"><!-- --></A><H3>
setVariable</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>setVariable</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;var)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#setVariable(java.lang.String)">Joins</A></CODE></B></DD>
<DD>Set the variable name being traversed into with the next join.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSubselect(java.lang.String)"><!-- --></A><H3>
setSubselect</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</A> <B>setSubselect</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;alias)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/sql/Joins.html#setSubselect(java.lang.String)">Joins</A></CODE></B></DD>
<DD>Set the subquery alias.
<P>
<DD><DL>
</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/SelectImpl.SelectResult.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/openjpa/jdbc/sql/SelectImpl.html" title="class in org.apache.openjpa.jdbc.sql"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/sql/Sized.html" title="class in org.apache.openjpa.jdbc.sql"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/sql/SelectImpl.SelectResult.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SelectImpl.SelectResult.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &copy; 2006-2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
