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>&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/TupleTupleKeyCreator.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/tuple/TupleTupleBinding.html" title="class in com.sleepycat.bind.tuple"><B>PREV CLASS</B></A>&nbsp;
56&nbsp;<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>  &nbsp;
59&nbsp;<A HREF="TupleTupleKeyCreator.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;FIELD&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;FIELD&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.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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tuple-tuple key creator.</TD>
146</TR>
147</TABLE>
148&nbsp;
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>&nbsp;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>&nbsp;db,
161                   <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
162                   <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
163                   <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;indexKeyEntry)</CODE>
164
165<BR>
166&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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>&nbsp;primaryKeyInput,
172                   <A HREF="/com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A>&nbsp;dataInput,
173                   <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;indexKeyOutput)</CODE>
174
175<BR>
176&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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>&nbsp;db,
182                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry)</CODE>
183
184<BR>
185&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
186</TR>
187<TR BGCOLOR="white" CLASS="TableRowColor">
188<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
189<CODE>&nbsp;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>&nbsp;dataInput,
191                  <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;dataOutput)</CODE>
192
193<BR>
194&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the index key in the tuple data entry.</TD>
195</TR>
196</TABLE>
197&nbsp;<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&nbsp;<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&nbsp;
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>&nbsp;db,
251                                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
252                                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
253                                  <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;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>&nbsp;db,
294                                 <A HREF="/com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;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>&nbsp;primaryKeyInput,
312                                           <A HREF="/com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A>&nbsp;dataInput,
313                                           <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;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>&nbsp;dataInput,
333                                 <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;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>&nbsp;</TD>
366  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
367  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
368  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TupleTupleKeyCreator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
369  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
370  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
371  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
372  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="/help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="/com/sleepycat/bind/tuple/TupleTupleBinding.html" title="class in com.sleepycat.bind.tuple"><B>PREV CLASS</B></A>&nbsp;
384&nbsp;<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>  &nbsp;
387&nbsp;<A HREF="TupleTupleKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
388&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
405<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
406DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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