Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > bc1980b66a68f286299491ee8724e71c > files > 186

db4.7-4.7.25-6mdv2010.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_0) on Wed Dec 30 04:50:31 EST 2009 -->
<TITLE>
TupleSerialKeyCreator
</TITLE>

<META NAME="date" CONTENT="2009-12-30">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="TupleSerialKeyCreator";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/TupleSerialMarshalledBinding.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/sleepycat/bind/serial/TupleSerialKeyCreator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TupleSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  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>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&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>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.sleepycat.bind.serial</FONT>
<BR>
Class TupleSerialKeyCreator</H2>
<PRE>
java.lang.Object
  <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>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.bind.serial.TupleSerialKeyCreator</B>
</PRE>
<DL>
<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>
</DL>
<DL>
<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>
</DL>
<HR>
<DL>
<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>
</PRE>

<P>
A abstract key creator that uses a tuple key and a serial data entry. This
 class takes care of serializing and deserializing the data entry, and
 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>
 objects.
 The following abstract method must be implemented by a concrete subclass
 to create the index key using these objects
 <ul>
 <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>
 </ul>
 <p>If <A HREF="../../../../com/sleepycat/db/ForeignKeyDeleteAction.html#NULLIFY"><CODE>ForeignKeyDeleteAction.NULLIFY</CODE></A> was
 specified when opening the secondary database, the following method must be
 overridden to nullify the foreign index key.  If NULLIFY was not specified,
 this method need not be overridden.</p>
 <ul>
 <li> <A HREF="../../../../com/sleepycat/bind/serial/TupleSerialKeyCreator.html#nullifyForeignKey(java.lang.Object)"><CODE>nullifyForeignKey(Object)</CODE></A> </li>
 </ul>
<P>

<P>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/TupleSerialKeyCreator.html#dataBinding">dataBinding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<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,
                      java.lang.Class&nbsp;dataClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tuple-serial key creator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<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>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tuple-serial key creator.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<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,
                   <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
                   <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
                   <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;indexKeyEntry)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a secondary key entry, given a primary key and data entry.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;boolean</CODE></FONT></TD>
<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,
                   java.lang.Object&nbsp;dataInput,
                   <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;indexKeyOutput)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates the index key entry from primary key tuple entry and
 deserialized data entry.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/TupleSerialKeyCreator.html#nullifyForeignKey(java.lang.Object)">nullifyForeignKey</A></B>(java.lang.Object&nbsp;data)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the index key in the deserialized data entry.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<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,
                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.sleepycat.bind.tuple.TupleBase"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<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>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<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>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="dataBinding"><!-- --></A><H3>
dataBinding</H3>
<PRE>
protected <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A> <B>dataBinding</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="TupleSerialKeyCreator(com.sleepycat.bind.serial.ClassCatalog, java.lang.Class)"><!-- --></A><H3>
TupleSerialKeyCreator</H3>
<PRE>
public <B>TupleSerialKeyCreator</B>(<A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html" title="interface in com.sleepycat.bind.serial">ClassCatalog</A>&nbsp;classCatalog,
                             java.lang.Class&nbsp;dataClass)</PRE>
<DL>
<DD>Creates a tuple-serial key creator.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>classCatalog</CODE> - is the catalog to hold shared class information and
 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>
</DL>
<HR>

<A NAME="TupleSerialKeyCreator(com.sleepycat.bind.serial.SerialBinding)"><!-- --></A><H3>
TupleSerialKeyCreator</H3>
<PRE>
public <B>TupleSerialKeyCreator</B>(<A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial">SerialBinding</A>&nbsp;dataBinding)</PRE>
<DL>
<DD>Creates a tuple-serial key creator.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>dataBinding</CODE> - is the data binding.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="createSecondaryKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3>
createSecondaryKey</H3>
<PRE>
public boolean <B>createSecondaryKey</B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A>&nbsp;db,
                                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;primaryKeyEntry,
                                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry,
                                  <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;indexKeyEntry)
                           throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE>
<DL>
<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>
<DD>Creates a secondary key entry, given a primary key and data entry.
    <p>
    A secondary key may be derived from the primary key, primary data, or a
    combination of the primary key and data.  For secondary keys that are
    optional, the key creator method may return false and the key/data pair
    will not be indexed.  To ensure the integrity of a secondary database the
    key creator method must always return the same result for a given set of
    input parameters.
    <p>
<P>
<DD><DL>
<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>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>db</CODE> - the database to which the secondary key will be added.
    This parameter is passed for informational purposes but is not commonly
    used.
    <p><DD><CODE>primaryKeyEntry</CODE> - the primary key entry.  This parameter must not be modified
    by this method.
    <p><DD><CODE>dataEntry</CODE> - the primary data entry.  This parameter must not be modified
    by this method.
    <p><DD><CODE>indexKeyEntry</CODE> - the secondary key created by this method.
    <p>
<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is
    not present.
    <p>
<DT><B>Throws:</B>
<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
    secondary key.</DL>
</DD>
</DL>
<HR>

<A NAME="nullifyForeignKey(com.sleepycat.db.SecondaryDatabase, com.sleepycat.db.DatabaseEntry)"><!-- --></A><H3>
nullifyForeignKey</H3>
<PRE>
public boolean <B>nullifyForeignKey</B>(<A HREF="../../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db">SecondaryDatabase</A>&nbsp;db,
                                 <A HREF="../../../../com/sleepycat/db/DatabaseEntry.html" title="class in com.sleepycat.db">DatabaseEntry</A>&nbsp;dataEntry)
                          throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE>
<DL>
<DD><DL>
<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>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="createSecondaryKey(com.sleepycat.bind.tuple.TupleInput, java.lang.Object, com.sleepycat.bind.tuple.TupleOutput)"><!-- --></A><H3>
createSecondaryKey</H3>
<PRE>
public abstract boolean <B>createSecondaryKey</B>(<A HREF="../../../../com/sleepycat/bind/tuple/TupleInput.html" title="class in com.sleepycat.bind.tuple">TupleInput</A>&nbsp;primaryKeyInput,
                                           java.lang.Object&nbsp;dataInput,
                                           <A HREF="../../../../com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A>&nbsp;indexKeyOutput)</PRE>
<DL>
<DD>Creates the index key entry from primary key tuple entry and
 deserialized data entry.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<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
 entry, or null if no primary key entry is used to construct the index
 key.<DD><CODE>dataInput</CODE> - is the deserialized data entry, or null if no data
 entry is used to construct the index key.<DD><CODE>indexKeyOutput</CODE> - is the destination index key tuple.  For index
 keys which are optionally present, no tuple entry should be output to
 indicate that the key is not present or null.
<DT><B>Returns:</B><DD>true if a key was created, or false to indicate that the key is
 not present.</DL>
</DD>
</DL>
<HR>

<A NAME="nullifyForeignKey(java.lang.Object)"><!-- --></A><H3>
nullifyForeignKey</H3>
<PRE>
public java.lang.Object <B>nullifyForeignKey</B>(java.lang.Object&nbsp;data)</PRE>
<DL>
<DD>Clears the index key in the deserialized data entry.

 <p>On entry the data parameter contains the index key to be cleared.  It
 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>
 will return false.  Other fields in the data object should remain
 unchanged.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>data</CODE> - is the source and destination deserialized data
 entry.
<DT><B>Returns:</B><DD>the destination data object, or null to indicate that the
 key is not present and no change is necessary.  The data returned may
 be the same object passed as the data parameter or a newly created
 object.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bind.serial"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/TupleSerialMarshalledBinding.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/sleepycat/bind/serial/TupleSerialKeyCreator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TupleSerialKeyCreator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  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>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&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>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>