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>&nbsp;</TD>
38  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
39  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
40  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TupleSerialKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
42  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
43  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="/com/sleepycat/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A>&nbsp;
56&nbsp;<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>  &nbsp;
59&nbsp;<A HREF="TupleSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
60&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
78DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
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 &nbsp;<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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
145</TR>
146</TABLE>
147&nbsp;
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>&nbsp;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>&nbsp;dataClass)</CODE>
159
160<BR>
161&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;dataBinding)</CODE>
165
166<BR>
167&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tuple-serial key creator.</TD>
168</TR>
169</TABLE>
170&nbsp;
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>&nbsp;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>&nbsp;db,
183                   <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
184                   <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
185                   <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;indexKeyEntry)</CODE>
186
187<BR>
188&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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>&nbsp;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>&nbsp;dataInput,
195                   <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;indexKeyOutput)</CODE>
196
197<BR>
198&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&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>
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>&nbsp;data)</CODE>
205
206<BR>
207&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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>&nbsp;db,
213                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry)</CODE>
214
215<BR>
216&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
217</TR>
218</TABLE>
219&nbsp;<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&nbsp;<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&nbsp;
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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;db,
308                                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
309                                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
310                                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;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>&nbsp;db,
351                                 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;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>&nbsp;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>&nbsp;dataInput,
370                                           <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;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>&nbsp;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>&nbsp;</TD>
429  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
430  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
431  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TupleSerialKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
432  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
433  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
434  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
435  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="/com/sleepycat/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A>&nbsp;
447&nbsp;<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>  &nbsp;
450&nbsp;<A HREF="TupleSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
451&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
468<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
469DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
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