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.5.0) on Thu May 15 17:17:32 EDT 2008 --> 6<TITLE> 7TupleTupleKeyCreator (Oracle - Berkeley DB Java API) 8</TITLE> 9 10<META NAME="keywords" CONTENT="com.sleepycat.bind.tuple.TupleTupleKeyCreator class"> 11 12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style"> 13 14<SCRIPT type="text/javascript"> 15function windowTitle() 16{ 17 parent.document.title="TupleTupleKeyCreator (Oracle - Berkeley DB Java API)"; 18} 19</SCRIPT> 20<NOSCRIPT> 21</NOSCRIPT> 22 23</HEAD> 24 25<BODY BGCOLOR="white" onload="windowTitle();"> 26 27 28<!-- ========= START OF TOP NAVBAR ======= --> 29<A NAME="navbar_top"><!-- --></A> 30<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 31<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 32<TR> 33<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 34<A NAME="navbar_top_firstrow"><!-- --></A> 35<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 36 <TR ALIGN="center" VALIGN="top"> 37 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 38 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 39 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TupleTupleKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 42 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 45 </TR> 46</TABLE> 47</TD> 48<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 49<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 50</TD> 51</TR> 52 53<TR> 54<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 55 <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleBinding.html" title="class in com.sleepycat.bind.tuple"><B>PREV CLASS</B></A> 56 <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleMarshalledBinding.html" title="class in com.sleepycat.bind.tuple"><B>NEXT CLASS</B></A></FONT></TD> 57<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 58 <A HREF="../../../../index.html?com/sleepycat/bind/tuple/TupleTupleKeyCreator.html" target="_top"><B>FRAMES</B></A> 59 <A HREF="TupleTupleKeyCreator.html" target="_top"><B>NO FRAMES</B></A> 60 <SCRIPT type="text/javascript"> 61 <!-- 62 if(window==top) { 63 document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); 64 } 65 //--> 66</SCRIPT> 67<NOSCRIPT> 68 <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> 69</NOSCRIPT> 70 71 72</FONT></TD> 73</TR> 74<TR> 75<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 76 SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 78DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 79</TR> 80</TABLE> 81<A NAME="skip-navbar_top"></A> 82<!-- ========= END OF TOP NAVBAR ========= --> 83 84<HR> 85<!-- ======== START OF CLASS DATA ======== --> 86<H2> 87<FONT SIZE="-1"> 88com.sleepycat.bind.tuple</FONT> 89<BR> 90Class TupleTupleKeyCreator</H2> 91<PRE> 92<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> 93 <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html" title="class in com.sleepycat.bind.tuple">com.sleepycat.bind.tuple.TupleBase</A> 94 <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.bind.tuple.TupleTupleKeyCreator</B> 95</PRE> 96<DL> 97<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A>, <A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A></DD> 98</DL> 99<DL> 100<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleMarshalledKeyCreator.html" title="class in com.sleepycat.bind.tuple">TupleTupleMarshalledKeyCreator</A></DD> 101</DL> 102<HR> 103<DL> 104<DT><PRE>public abstract class <B>TupleTupleKeyCreator</B><DT>extends <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html" title="class in com.sleepycat.bind.tuple">TupleBase</A><DT>implements <A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A>, <A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A></DL> 105</PRE> 106 107<P> 108An abstract key creator that uses a tuple key and a tuple data entry. This 109 class takes care of converting the key and data entry to/from <A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple"><CODE>TupleInput</CODE></A> and <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple"><CODE>TupleOutput</CODE></A> objects. 110 The following abstract method must be implemented by a concrete subclass 111 to create the index key using these objects 112 <ul> 113 <li> <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleOutput)"><CODE>createSecondaryKey(TupleInput,TupleInput,TupleOutput)</CODE></A> </li> 114 </ul> 115 <p>If <A HREF="../../../../com/sleepycat/db/ForeignKeyDeleteAction.html#NULLIFY"><CODE>ForeignKeyDeleteAction.NULLIFY</CODE></A> was 116 specified when opening the secondary database, the following method must be 117 overridden to nullify the foreign index key. If NULLIFY was not specified, 118 this method need not be overridden.</p> 119 <ul> 120 <li> <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#nullifyForeignKey(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleOutput)"><CODE>nullifyForeignKey(TupleInput,TupleOutput)</CODE></A> </li> 121 </ul> 122 <p>If <A HREF="../../../../com/sleepycat/db/ForeignKeyDeleteAction.html#NULLIFY"><CODE>ForeignKeyDeleteAction.NULLIFY</CODE></A> was 123 specified when creating the secondary, this method is called when the 124 entity for this foreign key is deleted. If NULLIFY was not specified, 125 this method will not be called and may always return false.</p> 126<P> 127 128<P> 129<HR> 130 131<P> 132 133<!-- ======== CONSTRUCTOR SUMMARY ======== --> 134 135<A NAME="constructor_summary"><!-- --></A> 136<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 137<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 138<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 139<B>Constructor Summary</B></FONT></TH> 140</TR> 141<TR BGCOLOR="white" CLASS="TableRowColor"> 142<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#TupleTupleKeyCreator()">TupleTupleKeyCreator</A></B>()</CODE> 143 144<BR> 145 Creates a tuple-tuple key creator.</TD> 146</TR> 147</TABLE> 148 149<!-- ========== METHOD SUMMARY =========== --> 150 151<A NAME="method_summary"><!-- --></A> 152<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 153<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 154<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 155<B>Method Summary</B></FONT></TH> 156</TR> 157<TR BGCOLOR="white" CLASS="TableRowColor"> 158<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 159<CODE> boolean</CODE></FONT></TD> 160<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)">createSecondaryKey</A></B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A> db, 161 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> primaryKeyEntry, 162 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry, 163 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> indexKeyEntry)</CODE> 164 165<BR> 166 Creates a secondary key entry, given a primary key and data entry.</TD> 167</TR> 168<TR BGCOLOR="white" CLASS="TableRowColor"> 169<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 170<CODE>abstract boolean</CODE></FONT></TD> 171<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleOutput)">createSecondaryKey</A></B>(<A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> primaryKeyInput, 172 <A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> dataInput, 173 <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> indexKeyOutput)</CODE> 174 175<BR> 176 Creates the index key from primary key tuple and data tuple.</TD> 177</TR> 178<TR BGCOLOR="white" CLASS="TableRowColor"> 179<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 180<CODE> boolean</CODE></FONT></TD> 181<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)">nullifyForeignKey</A></B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A> db, 182 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry)</CODE> 183 184<BR> 185 </TD> 186</TR> 187<TR BGCOLOR="white" CLASS="TableRowColor"> 188<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 189<CODE> boolean</CODE></FONT></TD> 190<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#nullifyForeignKey(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleOutput)">nullifyForeignKey</A></B>(<A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> dataInput, 191 <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> dataOutput)</CODE> 192 193<BR> 194 Clears the index key in the tuple data entry.</TD> 195</TR> 196</TABLE> 197 <A NAME="methods_inherited_from_class_com.sleepycat.bind.tuple.TupleBase"><!-- --></A> 198<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 199<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 200<TH ALIGN="left"><B>Methods inherited from class com.sleepycat.bind.tuple.<A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html" title="class in com.sleepycat.bind.tuple">TupleBase</A></B></TH> 201</TR> 202<TR BGCOLOR="white" CLASS="TableRowColor"> 203<TD><CODE><A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#entryToInput(com.sleepycat.db.DatabaseEntry)">entryToInput</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#getTupleBufferSize()">getTupleBufferSize</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#getTupleOutput(java.lang.Object)">getTupleOutput</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#inputToEntry(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.db.DatabaseEntry)">inputToEntry</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#newOutput()">newOutput</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#newOutput(byte[])">newOutput</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#outputToEntry(com.sleepycat.bind.tuple.TupleOutput, com.sleepycat.db.DatabaseEntry)">outputToEntry</A>, <A HREF="../../../../com/sleepycat/bind/tuple/TupleBase.html#setTupleBufferSize(int)">setTupleBufferSize</A></CODE></TD> 204</TR> 205</TABLE> 206 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 207<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 208<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 209<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> 210</TR> 211<TR BGCOLOR="white" CLASS="TableRowColor"> 212<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> 213</TR> 214</TABLE> 215 216<P> 217 218<!-- ========= CONSTRUCTOR DETAIL ======== --> 219 220<A NAME="constructor_detail"><!-- --></A> 221<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 222<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 223<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 224<B>Constructor Detail</B></FONT></TH> 225</TR> 226</TABLE> 227 228<A NAME="TupleTupleKeyCreator()"><!-- --></A><H3> 229TupleTupleKeyCreator</H3> 230<PRE> 231public <B>TupleTupleKeyCreator</B>()</PRE> 232<DL> 233<DD>Creates a tuple-tuple key creator. 234<P> 235</DL> 236 237<!-- ============ METHOD DETAIL ========== --> 238 239<A NAME="method_detail"><!-- --></A> 240<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 241<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 242<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 243<B>Method Detail</B></FONT></TH> 244</TR> 245</TABLE> 246 247<A NAME="createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3> 248createSecondaryKey</H3> 249<PRE> 250public boolean <B>createSecondaryKey</B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A> db, 251 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> primaryKeyEntry, 252 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry, 253 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> indexKeyEntry) 254 throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 255<DL> 256<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)">SecondaryKeyCreator</A></CODE></B></DD> 257<DD>Creates a secondary key entry, given a primary key and data entry. 258 <p> 259 A secondary key may be derived from the primary key, primary data, or a 260 combination of the primary key and data. For secondary keys that are 261 optional, the key creator method may return false and the key/data pair 262 will not be indexed. To ensure the integrity of a secondary database the 263 key creator method must always return the same result for a given set of 264 input parameters. 265 <p> 266<P> 267<DD><DL> 268<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)">createSecondaryKey</A></CODE> in interface <CODE><A HREF="../../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A></CODE></DL> 269</DD> 270<DD><DL> 271<DT><B>Parameters:</B><DD><CODE>db</CODE> - the database to which the secondary key will be added. 272 This parameter is passed for informational purposes but is not commonly 273 used. 274 <p><DD><CODE>primaryKeyEntry</CODE> - the primary key entry. This parameter must not be modified 275 by this method. 276 <p><DD><CODE>dataEntry</CODE> - the primary data entry. This parameter must not be modified 277 by this method. 278 <p><DD><CODE>indexKeyEntry</CODE> - the secondary key created by this method. 279 <p> 280<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is 281 not present. 282 <p> 283<DT><B>Throws:</B> 284<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE> - if an error occurs attempting to create the 285 secondary key.</DL> 286</DD> 287</DL> 288<HR> 289 290<A NAME="nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3> 291nullifyForeignKey</H3> 292<PRE> 293public boolean <B>nullifyForeignKey</B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A> db, 294 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry) 295 throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 296<DL> 297<DD><DL> 298<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html#nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)">nullifyForeignKey</A></CODE> in interface <CODE><A HREF="../../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A></CODE></DL> 299</DD> 300<DD><DL> 301 302<DT><B>Throws:</B> 303<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL> 304</DD> 305</DL> 306<HR> 307 308<A NAME="createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleOutput)"><!-- --></A><H3> 309createSecondaryKey</H3> 310<PRE> 311public abstract boolean <B>createSecondaryKey</B>(<A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> primaryKeyInput, 312 <A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> dataInput, 313 <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> indexKeyOutput)</PRE> 314<DL> 315<DD>Creates the index key from primary key tuple and data tuple. 316<P> 317<DD><DL> 318</DL> 319</DD> 320<DD><DL> 321<DT><B>Parameters:</B><DD><CODE>primaryKeyInput</CODE> - is the <A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple"><CODE>TupleInput</CODE></A> for the primary key 322 entry.<DD><CODE>dataInput</CODE> - is the <A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple"><CODE>TupleInput</CODE></A> for the data entry.<DD><CODE>indexKeyOutput</CODE> - is the destination index key tuple. 323<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is 324 not present.</DL> 325</DD> 326</DL> 327<HR> 328 329<A NAME="nullifyForeignKey(com.sleepycat.bind.tuple.TupleInput, com.sleepycat.bind.tuple.TupleOutput)"><!-- --></A><H3> 330nullifyForeignKey</H3> 331<PRE> 332public boolean <B>nullifyForeignKey</B>(<A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> dataInput, 333 <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> dataOutput)</PRE> 334<DL> 335<DD>Clears the index key in the tuple data entry. The dataInput should be 336 read and then written to the dataOutput, clearing the index key in the 337 process. 338 339 <p>The secondary key should be output or removed by this method such 340 that <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleKeyCreator.html#createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)"><CODE>createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)</CODE></A> will return false. Other fields in the 341 data object should remain unchanged.</p> 342<P> 343<DD><DL> 344</DL> 345</DD> 346<DD><DL> 347<DT><B>Parameters:</B><DD><CODE>dataInput</CODE> - is the <A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple"><CODE>TupleInput</CODE></A> for the data entry.<DD><CODE>dataOutput</CODE> - is the destination <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple"><CODE>TupleOutput</CODE></A>. 348<DT><B>Returns:</B><DD>true if the key was cleared, or false to indicate that the key 349 is not present and no change is necessary.</DL> 350</DD> 351</DL> 352<!-- ========= END OF CLASS DATA ========= --> 353<HR> 354 355 356<!-- ======= START OF BOTTOM NAVBAR ====== --> 357<A NAME="navbar_bottom"><!-- --></A> 358<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 359<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 360<TR> 361<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 362<A NAME="navbar_bottom_firstrow"><!-- --></A> 363<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 364 <TR ALIGN="center" VALIGN="top"> 365 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 366 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 367 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 368 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TupleTupleKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 369 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 370 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 371 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 372 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 373 </TR> 374</TABLE> 375</TD> 376<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 377<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 378</TD> 379</TR> 380 381<TR> 382<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 383 <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleBinding.html" title="class in com.sleepycat.bind.tuple"><B>PREV CLASS</B></A> 384 <A HREF="../../../../com/sleepycat/bind/tuple/TupleTupleMarshalledBinding.html" title="class in com.sleepycat.bind.tuple"><B>NEXT CLASS</B></A></FONT></TD> 385<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 386 <A HREF="../../../../index.html?com/sleepycat/bind/tuple/TupleTupleKeyCreator.html" target="_top"><B>FRAMES</B></A> 387 <A HREF="TupleTupleKeyCreator.html" target="_top"><B>NO FRAMES</B></A> 388 <SCRIPT type="text/javascript"> 389 <!-- 390 if(window==top) { 391 document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); 392 } 393 //--> 394</SCRIPT> 395<NOSCRIPT> 396 <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> 397</NOSCRIPT> 398 399 400</FONT></TD> 401</TR> 402<TR> 403<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 404 SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 405<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 406DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 407</TR> 408</TABLE> 409<A NAME="skip-navbar_bottom"></A> 410<!-- ======== END OF BOTTOM NAVBAR ======= --> 411 412<HR> 413<font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 414</BODY> 415</HTML> 416