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> 7TupleSerialKeyCreator (Oracle - Berkeley DB Java API) 8</TITLE> 9 10<META NAME="keywords" CONTENT="com.sleepycat.bind.serial.TupleSerialKeyCreator 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="TupleSerialKeyCreator (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/TupleSerialKeyCreator.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/serial/TupleSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A> 56 <A HREF="/com/sleepycat/bind/serial/TupleSerialMarshalledBinding.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD> 57<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 58 <A HREF="/index.html?com/sleepycat/bind/serial/TupleSerialKeyCreator.html" target="_top"><B>FRAMES</B></A> 59 <A HREF="TupleSerialKeyCreator.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 | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 78DETAIL: <A HREF="#field_detail">FIELD</A> | <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.serial</FONT> 89<BR> 90Class TupleSerialKeyCreator</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.serial.TupleSerialKeyCreator</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/serial/TupleSerialMarshalledKeyCreator.html" title="class in com.sleepycat.bind.serial">TupleSerialMarshalledKeyCreator</A></DD> 101</DL> 102<HR> 103<DL> 104<DT><PRE>public abstract class <B>TupleSerialKeyCreator</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> 108A abstract key creator that uses a tuple key and a serial data entry. This 109 class takes care of serializing and deserializing the data entry, and 110 converting the key 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> 111 objects. 112 The following abstract method must be implemented by a concrete subclass 113 to create the index key using these objects 114 <ul> 115 <li> <A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, java.lang.Object, com.sleepycat.bind.tuple.TupleOutput)"><CODE>createSecondaryKey(TupleInput,Object,TupleOutput)</CODE></A> </li> 116 </ul> 117 <p>If <A HREF="/com/sleepycat/db/ForeignKeyDeleteAction.html#NULLIFY"><CODE>ForeignKeyDeleteAction.NULLIFY</CODE></A> was 118 specified when opening the secondary database, the following method must be 119 overridden to nullify the foreign index key. If NULLIFY was not specified, 120 this method need not be overridden.</p> 121 <ul> 122 <li> <A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#nullifyForeignKey(java.lang.Object)"><CODE>nullifyForeignKey(Object)</CODE></A> </li> 123 </ul> 124<P> 125 126<P> 127<HR> 128 129<P> 130<!-- =========== FIELD SUMMARY =========== --> 131 132<A NAME="field_summary"><!-- --></A> 133<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 134<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 135<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 136<B>Field Summary</B></FONT></TH> 137</TR> 138<TR BGCOLOR="white" CLASS="TableRowColor"> 139<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 140<CODE>protected <A HREF="/com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A></CODE></FONT></TD> 141<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#dataBinding">dataBinding</A></B></CODE> 142 143<BR> 144 </TD> 145</TR> 146</TABLE> 147 148<!-- ======== CONSTRUCTOR SUMMARY ======== --> 149 150<A NAME="constructor_summary"><!-- --></A> 151<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 152<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 153<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 154<B>Constructor Summary</B></FONT></TH> 155</TR> 156<TR BGCOLOR="white" CLASS="TableRowColor"> 157<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#TupleSerialKeyCreator(com.sleepycat.bind.serial.ClassCatalog, java.lang.Class)">TupleSerialKeyCreator</A></B>(<A HREF="/com/sleepycat/bind/serial/ClassCatalog.html" title="interface in com.sleepycat.bind.serial">ClassCatalog</A> classCatalog, 158 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> dataClass)</CODE> 159 160<BR> 161 Creates a tuple-serial key creator.</TD> 162</TR> 163<TR BGCOLOR="white" CLASS="TableRowColor"> 164<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#TupleSerialKeyCreator(com.sleepycat.bind.serial.SerialBinding)">TupleSerialKeyCreator</A></B>(<A HREF="/com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> dataBinding)</CODE> 165 166<BR> 167 Creates a tuple-serial key creator.</TD> 168</TR> 169</TABLE> 170 171<!-- ========== METHOD SUMMARY =========== --> 172 173<A NAME="method_summary"><!-- --></A> 174<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 175<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 176<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 177<B>Method Summary</B></FONT></TH> 178</TR> 179<TR BGCOLOR="white" CLASS="TableRowColor"> 180<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 181<CODE> boolean</CODE></FONT></TD> 182<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.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, 183 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> primaryKeyEntry, 184 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry, 185 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> indexKeyEntry)</CODE> 186 187<BR> 188 Creates a secondary key entry, given a primary key and data entry.</TD> 189</TR> 190<TR BGCOLOR="white" CLASS="TableRowColor"> 191<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 192<CODE>abstract boolean</CODE></FONT></TD> 193<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, java.lang.Object, 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, 194 <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> dataInput, 195 <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> indexKeyOutput)</CODE> 196 197<BR> 198 Creates the index key entry from primary key tuple entry and 199 deserialized data entry.</TD> 200</TR> 201<TR BGCOLOR="white" CLASS="TableRowColor"> 202<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 203<CODE> <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> 204<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.html#nullifyForeignKey(java.lang.Object)">nullifyForeignKey</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> data)</CODE> 205 206<BR> 207 Clears the index key in the deserialized data entry.</TD> 208</TR> 209<TR BGCOLOR="white" CLASS="TableRowColor"> 210<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 211<CODE> boolean</CODE></FONT></TD> 212<TD><CODE><B><A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.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, 213 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry)</CODE> 214 215<BR> 216 </TD> 217</TR> 218</TABLE> 219 <A NAME="methods_inherited_from_class_com.sleepycat.bind.tuple.TupleBase"><!-- --></A> 220<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 221<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 222<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> 223</TR> 224<TR BGCOLOR="white" CLASS="TableRowColor"> 225<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> 226</TR> 227</TABLE> 228 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 229<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 230<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 231<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> 232</TR> 233<TR BGCOLOR="white" CLASS="TableRowColor"> 234<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> 235</TR> 236</TABLE> 237 238<P> 239 240<!-- ============ FIELD DETAIL =========== --> 241 242<A NAME="field_detail"><!-- --></A> 243<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 244<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 245<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 246<B>Field Detail</B></FONT></TH> 247</TR> 248</TABLE> 249 250<A NAME="dataBinding"><!-- --></A><H3> 251dataBinding</H3> 252<PRE> 253protected <A HREF="/com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> <B>dataBinding</B></PRE> 254<DL> 255<DL> 256</DL> 257</DL> 258 259<!-- ========= CONSTRUCTOR DETAIL ======== --> 260 261<A NAME="constructor_detail"><!-- --></A> 262<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 263<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 264<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 265<B>Constructor Detail</B></FONT></TH> 266</TR> 267</TABLE> 268 269<A NAME="TupleSerialKeyCreator(com.sleepycat.bind.serial.ClassCatalog, java.lang.Class)"><!-- --></A><H3> 270TupleSerialKeyCreator</H3> 271<PRE> 272public <B>TupleSerialKeyCreator</B>(<A HREF="/com/sleepycat/bind/serial/ClassCatalog.html" title="interface in com.sleepycat.bind.serial">ClassCatalog</A> classCatalog, 273 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> dataClass)</PRE> 274<DL> 275<DD>Creates a tuple-serial key creator. 276<P> 277<DL> 278<DT><B>Parameters:</B><DD><CODE>classCatalog</CODE> - is the catalog to hold shared class information and 279 for a database should be a <A HREF="/com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial"><CODE>StoredClassCatalog</CODE></A>.<DD><CODE>dataClass</CODE> - is the data base class.</DL> 280</DL> 281<HR> 282 283<A NAME="TupleSerialKeyCreator(com.sleepycat.bind.serial.SerialBinding)"><!-- --></A><H3> 284TupleSerialKeyCreator</H3> 285<PRE> 286public <B>TupleSerialKeyCreator</B>(<A HREF="/com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> dataBinding)</PRE> 287<DL> 288<DD>Creates a tuple-serial key creator. 289<P> 290<DL> 291<DT><B>Parameters:</B><DD><CODE>dataBinding</CODE> - is the data binding.</DL> 292</DL> 293 294<!-- ============ METHOD DETAIL ========== --> 295 296<A NAME="method_detail"><!-- --></A> 297<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 298<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 299<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 300<B>Method Detail</B></FONT></TH> 301</TR> 302</TABLE> 303 304<A NAME="createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3> 305createSecondaryKey</H3> 306<PRE> 307public boolean <B>createSecondaryKey</B>(<A HREF="/com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A> db, 308 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> primaryKeyEntry, 309 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry, 310 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> indexKeyEntry) 311 throws <A HREF="/com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 312<DL> 313<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> 314<DD>Creates a secondary key entry, given a primary key and data entry. 315 <p> 316 A secondary key may be derived from the primary key, primary data, or a 317 combination of the primary key and data. For secondary keys that are 318 optional, the key creator method may return false and the key/data pair 319 will not be indexed. To ensure the integrity of a secondary database the 320 key creator method must always return the same result for a given set of 321 input parameters. 322 <p> 323<P> 324<DD><DL> 325<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> 326</DD> 327<DD><DL> 328<DT><B>Parameters:</B><DD><CODE>db</CODE> - the database to which the secondary key will be added. 329 This parameter is passed for informational purposes but is not commonly 330 used. 331 <p><DD><CODE>primaryKeyEntry</CODE> - the primary key entry. This parameter must not be modified 332 by this method. 333 <p><DD><CODE>dataEntry</CODE> - the primary data entry. This parameter must not be modified 334 by this method. 335 <p><DD><CODE>indexKeyEntry</CODE> - the secondary key created by this method. 336 <p> 337<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is 338 not present. 339 <p> 340<DT><B>Throws:</B> 341<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 342 secondary key.</DL> 343</DD> 344</DL> 345<HR> 346 347<A NAME="nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3> 348nullifyForeignKey</H3> 349<PRE> 350public boolean <B>nullifyForeignKey</B>(<A HREF="/com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A> db, 351 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A> dataEntry) 352 throws <A HREF="/com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE> 353<DL> 354<DD><DL> 355<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> 356</DD> 357<DD><DL> 358 359<DT><B>Throws:</B> 360<DD><CODE><A HREF="/com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL> 361</DD> 362</DL> 363<HR> 364 365<A NAME="createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, java.lang.Object, com.sleepycat.bind.tuple.TupleOutput)"><!-- --></A><H3> 366createSecondaryKey</H3> 367<PRE> 368public abstract boolean <B>createSecondaryKey</B>(<A HREF="/com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A> primaryKeyInput, 369 <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> dataInput, 370 <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> indexKeyOutput)</PRE> 371<DL> 372<DD>Creates the index key entry from primary key tuple entry and 373 deserialized data entry. 374<P> 375<DD><DL> 376</DL> 377</DD> 378<DD><DL> 379<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 380 entry, or null if no primary key entry is used to construct the index 381 key.<DD><CODE>dataInput</CODE> - is the deserialized data entry, or null if no data 382 entry is used to construct the index key.<DD><CODE>indexKeyOutput</CODE> - is the destination index key tuple. For index 383 keys which are optionally present, no tuple entry should be output to 384 indicate that the key is not present or null. 385<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is 386 not present.</DL> 387</DD> 388</DL> 389<HR> 390 391<A NAME="nullifyForeignKey(java.lang.Object)"><!-- --></A><H3> 392nullifyForeignKey</H3> 393<PRE> 394public <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>nullifyForeignKey</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> data)</PRE> 395<DL> 396<DD>Clears the index key in the deserialized data entry. 397 398 <p>On entry the data parameter contains the index key to be cleared. It 399 should be changed by this method such that <A HREF="/com/sleepycat/bind/serial/TupleSerialKeyCreator.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> 400 will return false. Other fields in the data object should remain 401 unchanged.</p> 402<P> 403<DD><DL> 404</DL> 405</DD> 406<DD><DL> 407<DT><B>Parameters:</B><DD><CODE>data</CODE> - is the source and destination deserialized data 408 entry. 409<DT><B>Returns:</B><DD>the destination data object, or null to indicate that the 410 key is not present and no change is necessary. The data returned may 411 be the same object passed as the data parameter or a newly created 412 object.</DL> 413</DD> 414</DL> 415<!-- ========= END OF CLASS DATA ========= --> 416<HR> 417 418 419<!-- ======= START OF BOTTOM NAVBAR ====== --> 420<A NAME="navbar_bottom"><!-- --></A> 421<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 422<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 423<TR> 424<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 425<A NAME="navbar_bottom_firstrow"><!-- --></A> 426<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 427 <TR ALIGN="center" VALIGN="top"> 428 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 429 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 430 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 431 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TupleSerialKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 432 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 433 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 434 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 435 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 436 </TR> 437</TABLE> 438</TD> 439<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 440<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 441</TD> 442</TR> 443 444<TR> 445<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 446 <A HREF="/com/sleepycat/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A> 447 <A HREF="/com/sleepycat/bind/serial/TupleSerialMarshalledBinding.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD> 448<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 449 <A HREF="/index.html?com/sleepycat/bind/serial/TupleSerialKeyCreator.html" target="_top"><B>FRAMES</B></A> 450 <A HREF="TupleSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A> 451 <SCRIPT type="text/javascript"> 452 <!-- 453 if(window==top) { 454 document.writeln('<A HREF="/allclasses-noframe.html"><B>All Classes</B></A>'); 455 } 456 //--> 457</SCRIPT> 458<NOSCRIPT> 459 <A HREF="/allclasses-noframe.html"><B>All Classes</B></A> 460</NOSCRIPT> 461 462 463</FONT></TD> 464</TR> 465<TR> 466<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 467 SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 468<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 469DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 470</TR> 471</TABLE> 472<A NAME="skip-navbar_bottom"></A> 473<!-- ======== END OF BOTTOM NAVBAR ======= --> 474 475<HR> 476<font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 477</BODY> 478</HTML> 479