1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<!--NewPage--> 3<HTML> 4<HEAD> 5<!-- Generated by javadoc (build 1.6.0_03) on Mon Apr 12 16:25:50 EDT 2010 --> 6<TITLE> 7EntityJoin (Oracle - Berkeley DB Java API) 8</TITLE> 9 10<META NAME="date" CONTENT="2010-04-12"> 11 12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style"> 13 14<SCRIPT type="text/javascript"> 15function windowTitle() 16{ 17 if (location.href.indexOf('is-external=true') == -1) { 18 parent.document.title="EntityJoin (Oracle - Berkeley DB Java API)"; 19 } 20} 21</SCRIPT> 22<NOSCRIPT> 23</NOSCRIPT> 24 25</HEAD> 26 27<BODY BGCOLOR="white" onload="windowTitle();"> 28<HR> 29 30 31<!-- ========= START OF TOP NAVBAR ======= --> 32<A NAME="navbar_top"><!-- --></A> 33<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 34<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 35<TR> 36<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 37<A NAME="navbar_top_firstrow"><!-- --></A> 38<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 39 <TR ALIGN="center" VALIGN="top"> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 42 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EntityJoin.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 45 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 46 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 47 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 48 </TR> 49</TABLE> 50</TD> 51<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 52<b>Berkeley DB</b><br><font size="-1"> version 4.8.30</font></EM> 53</TD> 54</TR> 55 56<TR> 57<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 58 <A HREF="../../../com/sleepycat/persist/EntityIndex.html" title="interface in com.sleepycat.persist"><B>PREV CLASS</B></A> 59 <A HREF="../../../com/sleepycat/persist/EntityStore.html" title="class in com.sleepycat.persist"><B>NEXT CLASS</B></A></FONT></TD> 60<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 61 <A HREF="../../../index.html?com/sleepycat/persist/EntityJoin.html" target="_top"><B>FRAMES</B></A> 62 <A HREF="EntityJoin.html" target="_top"><B>NO FRAMES</B></A> 63 <SCRIPT type="text/javascript"> 64 <!-- 65 if(window==top) { 66 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 67 } 68 //--> 69</SCRIPT> 70<NOSCRIPT> 71 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 72</NOSCRIPT> 73 74 75</FONT></TD> 76</TR> 77<TR> 78<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 79 SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 80<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 81DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 82</TR> 83</TABLE> 84<A NAME="skip-navbar_top"></A> 85<!-- ========= END OF TOP NAVBAR ========= --> 86 87<HR> 88<!-- ======== START OF CLASS DATA ======== --> 89<H2> 90<FONT SIZE="-1"> 91com.sleepycat.persist</FONT> 92<BR> 93Class EntityJoin<PK,E></H2> 94<PRE> 95<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> 96 <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.persist.EntityJoin<PK,E></B> 97</PRE> 98<HR> 99<DL> 100<DT><PRE>public class <B>EntityJoin<PK,E></B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> 101</PRE> 102 103<P> 104Performs an equality join on two or more secondary keys. 105 106 <p><code>EntityJoin</code> objects are thread-safe. Multiple threads may safely 107 call the methods of a shared <code>EntityJoin</code> object.</p> 108 109 <p>An equality join is a match on all entities in a given primary index that 110 have two or more specific secondary key values. Note that key ranges may 111 not be matched by an equality join, only exact keys are matched.</p> 112 113 <p>For example:</p> 114 <pre class="code"> 115 // Index declarations -- see <a href="package-summary.html#example">package summary example</a>. 116 // 117 PrimaryIndex<String,Person> personBySsn; 118 SecondaryIndex<String,String,Person> personByParentSsn; 119 SecondaryIndex<Long,String,Person> personByEmployerIds; 120 Employer employer = ...; 121 122 // Match on all Person objects having parentSsn "111-11-1111" and also 123 // containing an employerId of employer.id. In other words, match on all 124 // of Bob's children that work for a given employer. 125 // 126 EntityJoin<String,Person> join = new EntityJoin(personBySsn); 127 join.addCondition(personByParentSsn, "111-11-1111"); 128 join.addCondition(personByEmployerIds, employer.id); 129 130 // Perform the join operation by traversing the results with a cursor. 131 // 132 ForwardCursor<Person> results = join.entities(); 133 try { 134 for (Person person : results) { 135 System.out.println(person.ssn + ' ' + person.name); 136 } 137 } finally { 138 results.close(); 139 }</pre> 140<P> 141 142<P> 143<HR> 144 145<P> 146 147<!-- ======== CONSTRUCTOR SUMMARY ======== --> 148 149<A NAME="constructor_summary"><!-- --></A> 150<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 151<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 152<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 153<B>Constructor Summary</B></FONT></TH> 154</TR> 155<TR BGCOLOR="white" CLASS="TableRowColor"> 156<TD><CODE><B><A HREF="../../../com/sleepycat/persist/EntityJoin.html#EntityJoin(com.sleepycat.persist.PrimaryIndex)">EntityJoin</A></B>(<A HREF="../../../com/sleepycat/persist/PrimaryIndex.html" title="class in com.sleepycat.persist">PrimaryIndex</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>,<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>> index)</CODE> 157 158<BR> 159 Creates a join object for a given primary index.</TD> 160</TR> 161</TABLE> 162 163<!-- ========== METHOD SUMMARY =========== --> 164 165<A NAME="method_summary"><!-- --></A> 166<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 167<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 168<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 169<B>Method Summary</B></FONT></TH> 170</TR> 171<TR BGCOLOR="white" CLASS="TableRowColor"> 172<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 173<CODE> 174<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 175<TR ALIGN="right" VALIGN=""> 176<TD NOWRAP><FONT SIZE="-1"> 177<CODE><SK> void</CODE></FONT></TD> 178</TR> 179</TABLE> 180</CODE></FONT></TD> 181<TD><CODE><B><A HREF="../../../com/sleepycat/persist/EntityJoin.html#addCondition(com.sleepycat.persist.SecondaryIndex, SK)">addCondition</A></B>(<A HREF="../../../com/sleepycat/persist/SecondaryIndex.html" title="class in com.sleepycat.persist">SecondaryIndex</A><SK,<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>,<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>> index, 182 SK key)</CODE> 183 184<BR> 185 Adds a secondary key condition to the equality join.</TD> 186</TR> 187<TR BGCOLOR="white" CLASS="TableRowColor"> 188<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 189<CODE> <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>></CODE></FONT></TD> 190<TD><CODE><B><A HREF="../../../com/sleepycat/persist/EntityJoin.html#entities()">entities</A></B>()</CODE> 191 192<BR> 193 Opens a cursor that returns the entities qualifying for the join.</TD> 194</TR> 195<TR BGCOLOR="white" CLASS="TableRowColor"> 196<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 197<CODE> <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>></CODE></FONT></TD> 198<TD><CODE><B><A HREF="../../../com/sleepycat/persist/EntityJoin.html#entities(com.sleepycat.db.Transaction, com.sleepycat.db.CursorConfig)">entities</A></B>(<A HREF="../../../com/sleepycat/db/Transaction.html" title="class in com.sleepycat.db">Transaction</A> txn, 199 <A HREF="../../../com/sleepycat/db/CursorConfig.html" title="class in com.sleepycat.db">CursorConfig</A> config)</CODE> 200 201<BR> 202 Opens a cursor that returns the entities qualifying for the join.</TD> 203</TR> 204<TR BGCOLOR="white" CLASS="TableRowColor"> 205<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 206<CODE> <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>></CODE></FONT></TD> 207<TD><CODE><B><A HREF="../../../com/sleepycat/persist/EntityJoin.html#keys()">keys</A></B>()</CODE> 208 209<BR> 210 Opens a cursor that returns the primary keys of entities qualifying for 211 the join.</TD> 212</TR> 213<TR BGCOLOR="white" CLASS="TableRowColor"> 214<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 215<CODE> <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>></CODE></FONT></TD> 216<TD><CODE><B><A HREF="../../../com/sleepycat/persist/EntityJoin.html#keys(com.sleepycat.db.Transaction, com.sleepycat.db.CursorConfig)">keys</A></B>(<A HREF="../../../com/sleepycat/db/Transaction.html" title="class in com.sleepycat.db">Transaction</A> txn, 217 <A HREF="../../../com/sleepycat/db/CursorConfig.html" title="class in com.sleepycat.db">CursorConfig</A> config)</CODE> 218 219<BR> 220 Opens a cursor that returns the primary keys of entities qualifying for 221 the join.</TD> 222</TR> 223</TABLE> 224 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 225<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 226<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 227<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?is-external=true" title="class or interface in java.lang">Object</A></B></TH> 228</TR> 229<TR BGCOLOR="white" CLASS="TableRowColor"> 230<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/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/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> 231</TR> 232</TABLE> 233 234<P> 235 236<!-- ========= CONSTRUCTOR DETAIL ======== --> 237 238<A NAME="constructor_detail"><!-- --></A> 239<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 240<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 241<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 242<B>Constructor Detail</B></FONT></TH> 243</TR> 244</TABLE> 245 246<A NAME="EntityJoin(com.sleepycat.persist.PrimaryIndex)"><!-- --></A><H3> 247EntityJoin</H3> 248<PRE> 249public <B>EntityJoin</B>(<A HREF="../../../com/sleepycat/persist/PrimaryIndex.html" title="class in com.sleepycat.persist">PrimaryIndex</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>,<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>> index)</PRE> 250<DL> 251<DD>Creates a join object for a given primary index. 252<P> 253<DL> 254<DT><B>Parameters:</B><DD><CODE>index</CODE> - the primary index on which the join will operate.</DL> 255</DL> 256 257<!-- ============ METHOD DETAIL ========== --> 258 259<A NAME="method_detail"><!-- --></A> 260<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 261<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 262<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 263<B>Method Detail</B></FONT></TH> 264</TR> 265</TABLE> 266 267<A NAME="addCondition(com.sleepycat.persist.SecondaryIndex,java.lang.Object)"><!-- --></A><A NAME="addCondition(com.sleepycat.persist.SecondaryIndex, SK)"><!-- --></A><H3> 268addCondition</H3> 269<PRE> 270public <SK> void <B>addCondition</B>(<A HREF="../../../com/sleepycat/persist/SecondaryIndex.html" title="class in com.sleepycat.persist">SecondaryIndex</A><SK,<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>,<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>> index, 271 SK key)</PRE> 272<DL> 273<DD>Adds a secondary key condition to the equality join. Only entities 274 having the given key value in the given secondary index will be returned 275 by the join operation. 276<P> 277<DD><DL> 278<DT><B>Parameters:</B><DD><CODE>index</CODE> - the secondary index containing the given key value.<DD><CODE>key</CODE> - the key value to match during the join.</DL> 279</DD> 280</DL> 281<HR> 282 283<A NAME="entities()"><!-- --></A><H3> 284entities</H3> 285<PRE> 286public <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>> <B>entities</B>() 287 throws <A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 288<DL> 289<DD>Opens a cursor that returns the entities qualifying for the join. The 290 join operation is performed as the returned cursor is accessed. 291 292 <p>The operations performed with the cursor will not be transaction 293 protected, and <A HREF="../../../com/sleepycat/db/CursorConfig.html#DEFAULT"><CODE>CursorConfig.DEFAULT</CODE></A> is used implicitly.</p> 294<P> 295<DD><DL> 296 297<DT><B>Returns:</B><DD>the cursor. 298<DT><B>Throws:</B> 299<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if less than two conditions were added. 300<DD><CODE><A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL> 301</DD> 302</DL> 303<HR> 304 305<A NAME="entities(com.sleepycat.db.Transaction, com.sleepycat.db.CursorConfig)"><!-- --></A><H3> 306entities</H3> 307<PRE> 308public <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">E</A>> <B>entities</B>(<A HREF="../../../com/sleepycat/db/Transaction.html" title="class in com.sleepycat.db">Transaction</A> txn, 309 <A HREF="../../../com/sleepycat/db/CursorConfig.html" title="class in com.sleepycat.db">CursorConfig</A> config) 310 throws <A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 311<DL> 312<DD>Opens a cursor that returns the entities qualifying for the join. The 313 join operation is performed as the returned cursor is accessed. 314<P> 315<DD><DL> 316<DT><B>Parameters:</B><DD><CODE>txn</CODE> - the transaction used to protect all operations performed with 317 the cursor, or null if the operations should not be transaction 318 protected.<DD><CODE>config</CODE> - the cursor configuration that determines the default lock 319 mode used for all cursor operations, or null to implicitly use <A HREF="../../../com/sleepycat/db/CursorConfig.html#DEFAULT"><CODE>CursorConfig.DEFAULT</CODE></A>. 320<DT><B>Returns:</B><DD>the cursor. 321<DT><B>Throws:</B> 322<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if less than two conditions were added. 323<DD><CODE><A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL> 324</DD> 325</DL> 326<HR> 327 328<A NAME="keys()"><!-- --></A><H3> 329keys</H3> 330<PRE> 331public <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>> <B>keys</B>() 332 throws <A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 333<DL> 334<DD>Opens a cursor that returns the primary keys of entities qualifying for 335 the join. The join operation is performed as the returned cursor is 336 accessed. 337 338 <p>The operations performed with the cursor will not be transaction 339 protected, and <A HREF="../../../com/sleepycat/db/CursorConfig.html#DEFAULT"><CODE>CursorConfig.DEFAULT</CODE></A> is used implicitly.</p> 340<P> 341<DD><DL> 342 343<DT><B>Returns:</B><DD>the cursor. 344<DT><B>Throws:</B> 345<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if less than two conditions were added. 346<DD><CODE><A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL> 347</DD> 348</DL> 349<HR> 350 351<A NAME="keys(com.sleepycat.db.Transaction, com.sleepycat.db.CursorConfig)"><!-- --></A><H3> 352keys</H3> 353<PRE> 354public <A HREF="../../../com/sleepycat/persist/ForwardCursor.html" title="interface in com.sleepycat.persist">ForwardCursor</A><<A HREF="../../../com/sleepycat/persist/EntityJoin.html" title="type parameter in EntityJoin">PK</A>> <B>keys</B>(<A HREF="../../../com/sleepycat/db/Transaction.html" title="class in com.sleepycat.db">Transaction</A> txn, 355 <A HREF="../../../com/sleepycat/db/CursorConfig.html" title="class in com.sleepycat.db">CursorConfig</A> config) 356 throws <A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 357<DL> 358<DD>Opens a cursor that returns the primary keys of entities qualifying for 359 the join. The join operation is performed as the returned cursor is 360 accessed. 361<P> 362<DD><DL> 363<DT><B>Parameters:</B><DD><CODE>txn</CODE> - the transaction used to protect all operations performed with 364 the cursor, or null if the operations should not be transaction 365 protected.<DD><CODE>config</CODE> - the cursor configuration that determines the default lock 366 mode used for all cursor operations, or null to implicitly use <A HREF="../../../com/sleepycat/db/CursorConfig.html#DEFAULT"><CODE>CursorConfig.DEFAULT</CODE></A>. 367<DT><B>Returns:</B><DD>the cursor. 368<DT><B>Throws:</B> 369<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if less than two conditions were added. 370<DD><CODE><A HREF="../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL> 371</DD> 372</DL> 373<!-- ========= END OF CLASS DATA ========= --> 374<HR> 375 376 377<!-- ======= START OF BOTTOM NAVBAR ====== --> 378<A NAME="navbar_bottom"><!-- --></A> 379<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 380<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 381<TR> 382<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 383<A NAME="navbar_bottom_firstrow"><!-- --></A> 384<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 385 <TR ALIGN="center" VALIGN="top"> 386 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 387 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 388 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 389 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EntityJoin.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 390 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 391 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 392 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 393 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 394 </TR> 395</TABLE> 396</TD> 397<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 398<b>Berkeley DB</b><br><font size="-1"> version 4.8.30</font></EM> 399</TD> 400</TR> 401 402<TR> 403<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 404 <A HREF="../../../com/sleepycat/persist/EntityIndex.html" title="interface in com.sleepycat.persist"><B>PREV CLASS</B></A> 405 <A HREF="../../../com/sleepycat/persist/EntityStore.html" title="class in com.sleepycat.persist"><B>NEXT CLASS</B></A></FONT></TD> 406<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 407 <A HREF="../../../index.html?com/sleepycat/persist/EntityJoin.html" target="_top"><B>FRAMES</B></A> 408 <A HREF="EntityJoin.html" target="_top"><B>NO FRAMES</B></A> 409 <SCRIPT type="text/javascript"> 410 <!-- 411 if(window==top) { 412 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 413 } 414 //--> 415</SCRIPT> 416<NOSCRIPT> 417 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 418</NOSCRIPT> 419 420 421</FONT></TD> 422</TR> 423<TR> 424<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 425 SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 426<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 427DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 428</TR> 429</TABLE> 430<A NAME="skip-navbar_bottom"></A> 431<!-- ======== END OF BOTTOM NAVBAR ======= --> 432 433<HR> 434<font size=1>Copyright (c) 1996-2009 Oracle. All rights reserved.</font> 435</BODY> 436</HTML> 437