<!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_18) on Thu Dec 02 16:59:42 UTC 2010 --> <TITLE> TupleSerialKeyExtractor </TITLE> <META NAME="date" CONTENT="2010-12-02"> <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="TupleSerialKeyExtractor"; } } </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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bdb.bind.serial"><B>PREV CLASS</B></A> <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialMarshalledBinding.html" title="class in com.sleepycat.bdb.bind.serial"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html" target="_top"><B>FRAMES</B></A> <A HREF="TupleSerialKeyExtractor.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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.bdb.bind.serial</FONT> <BR> Class TupleSerialKeyExtractor</H2> <PRE> java.lang.Object <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.bdb.bind.serial.TupleSerialKeyExtractor</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></DD> </DL> <DL> <DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialMarshalledKeyExtractor.html" title="class in com.sleepycat.bdb.bind.serial">TupleSerialMarshalledKeyExtractor</A></DD> </DL> <HR> <DL> <DT><PRE>public abstract class <B>TupleSerialKeyExtractor</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></DL> </PRE> <P> A abstract key extractor that uses a tuple key and a serial value. This class takes care of serializing and deserializing the value data, and converting the key data to/from <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleInput.html" title="class in com.sleepycat.bdb.bind.tuple"><CODE>TupleInput</CODE></A> and <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bdb.bind.tuple"><CODE>TupleOutput</CODE></A> objects. Its two abstract methods must be implemented by a concrete subclass to extract and clear the index key using these objects. <ul> <li> <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.tuple.TupleInput, java.lang.Object, com.sleepycat.bdb.bind.tuple.TupleOutput)"><CODE>extractIndexKey(TupleInput,Object,TupleOutput)</CODE></A> </li> <li> <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#clearIndexKey(java.lang.Object)"><CODE>clearIndexKey(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 <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#indexKeyFormat">indexKeyFormat</A></B></CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#primaryKeyFormat">primaryKeyFormat</A></B></CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected <A HREF="../../../../../com/sleepycat/bdb/bind/serial/SerialFormat.html" title="class in com.sleepycat.bdb.bind.serial">SerialFormat</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#valueFormat">valueFormat</A></B></CODE> <BR> </TD> </TR> </TABLE> <!-- ======== 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/bdb/bind/serial/TupleSerialKeyExtractor.html#TupleSerialKeyExtractor(com.sleepycat.bdb.bind.tuple.TupleFormat, com.sleepycat.bdb.bind.serial.SerialFormat, com.sleepycat.bdb.bind.tuple.TupleFormat)">TupleSerialKeyExtractor</A></B>(<A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A> primaryKeyFormat, <A HREF="../../../../../com/sleepycat/bdb/bind/serial/SerialFormat.html" title="class in com.sleepycat.bdb.bind.serial">SerialFormat</A> valueFormat, <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A> indexKeyFormat)</CODE> <BR> Creates a tuple-serial key extractor.</TD> </TR> </TABLE> <!-- ========== 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> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#clearIndexKey(com.sleepycat.bdb.bind.DataBuffer)">clearIndexKey</A></B>(<A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> valueData)</CODE> <BR> Clears the index key in a value buffer.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>abstract void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#clearIndexKey(java.lang.Object)">clearIndexKey</A></B>(java.lang.Object valueInputOutput)</CODE> <BR> Clears the index key in the deserialized value data.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)">extractIndexKey</A></B>(<A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> primaryKeyData, <A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> valueData, <A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> indexKeyData)</CODE> <BR> Extracts the index key data from primary key and value buffers.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>abstract void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.tuple.TupleInput, java.lang.Object, com.sleepycat.bdb.bind.tuple.TupleOutput)">extractIndexKey</A></B>(<A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleInput.html" title="class in com.sleepycat.bdb.bind.tuple">TupleInput</A> primaryKeyInput, java.lang.Object valueInput, <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bdb.bind.tuple">TupleOutput</A> indexKeyOutput)</CODE> <BR> Extracts the index key data from primary key tuple data and deserialized value data.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../../com/sleepycat/bdb/bind/DataFormat.html" title="interface in com.sleepycat.bdb.bind">DataFormat</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#getIndexKeyFormat()">getIndexKeyFormat</A></B>()</CODE> <BR> Returns the format of the index key data.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../../com/sleepycat/bdb/bind/DataFormat.html" title="interface in com.sleepycat.bdb.bind">DataFormat</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#getPrimaryKeyFormat()">getPrimaryKeyFormat</A></B>()</CODE> <BR> Returns the format of the primary key data or null if the index key data is not derived from the primary key data.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../../com/sleepycat/bdb/bind/DataFormat.html" title="interface in com.sleepycat.bdb.bind">DataFormat</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#getValueFormat()">getValueFormat</A></B>()</CODE> <BR> Returns the format of the value data or null if the index key data is not derived from the value data.</TD> </TR> </TABLE> <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> <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="primaryKeyFormat"><!-- --></A><H3> primaryKeyFormat</H3> <PRE> protected <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A> <B>primaryKeyFormat</B></PRE> <DL> <DL> </DL> </DL> <HR> <A NAME="valueFormat"><!-- --></A><H3> valueFormat</H3> <PRE> protected <A HREF="../../../../../com/sleepycat/bdb/bind/serial/SerialFormat.html" title="class in com.sleepycat.bdb.bind.serial">SerialFormat</A> <B>valueFormat</B></PRE> <DL> <DL> </DL> </DL> <HR> <A NAME="indexKeyFormat"><!-- --></A><H3> indexKeyFormat</H3> <PRE> protected <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A> <B>indexKeyFormat</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="TupleSerialKeyExtractor(com.sleepycat.bdb.bind.tuple.TupleFormat, com.sleepycat.bdb.bind.serial.SerialFormat, com.sleepycat.bdb.bind.tuple.TupleFormat)"><!-- --></A><H3> TupleSerialKeyExtractor</H3> <PRE> public <B>TupleSerialKeyExtractor</B>(<A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A> primaryKeyFormat, <A HREF="../../../../../com/sleepycat/bdb/bind/serial/SerialFormat.html" title="class in com.sleepycat.bdb.bind.serial">SerialFormat</A> valueFormat, <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleFormat.html" title="class in com.sleepycat.bdb.bind.tuple">TupleFormat</A> indexKeyFormat)</PRE> <DL> <DD>Creates a tuple-serial key extractor. <P> <DL> <DT><B>Parameters:</B><DD><CODE>primaryKeyFormat</CODE> - is the primary key format, or null if no primary key data is used to construct the index key.<DD><CODE>valueFormat</CODE> - is the value format, or null if no value data is used to construct the index key.<DD><CODE>indexKeyFormat</CODE> - is the index key format.</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="getPrimaryKeyFormat()"><!-- --></A><H3> getPrimaryKeyFormat</H3> <PRE> public <A HREF="../../../../../com/sleepycat/bdb/bind/DataFormat.html" title="interface in com.sleepycat.bdb.bind">DataFormat</A> <B>getPrimaryKeyFormat</B>()</PRE> <DL> <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getPrimaryKeyFormat()">KeyExtractor</A></CODE></B></DD> <DD>Returns the format of the primary key data or null if the index key data is not derived from the primary key data. If this method returns null, then null will be passed for the <code>primaryKeyData</code> parameter of <A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)"><CODE>KeyExtractor.extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)</CODE></A>. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getPrimaryKeyFormat()">getPrimaryKeyFormat</A></CODE> in interface <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the format of the primary key data or null.</DL> </DD> </DL> <HR> <A NAME="getValueFormat()"><!-- --></A><H3> getValueFormat</H3> <PRE> public <A HREF="../../../../../com/sleepycat/bdb/bind/DataFormat.html" title="interface in com.sleepycat.bdb.bind">DataFormat</A> <B>getValueFormat</B>()</PRE> <DL> <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getValueFormat()">KeyExtractor</A></CODE></B></DD> <DD>Returns the format of the value data or null if the index key data is not derived from the value data. If this method returns null, then null will be passed for the <code>valueData</code> parameter of <A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)"><CODE>KeyExtractor.extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)</CODE></A>. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getValueFormat()">getValueFormat</A></CODE> in interface <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the format of the value data or null.</DL> </DD> </DL> <HR> <A NAME="getIndexKeyFormat()"><!-- --></A><H3> getIndexKeyFormat</H3> <PRE> public <A HREF="../../../../../com/sleepycat/bdb/bind/DataFormat.html" title="interface in com.sleepycat.bdb.bind">DataFormat</A> <B>getIndexKeyFormat</B>()</PRE> <DL> <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getIndexKeyFormat()">KeyExtractor</A></CODE></B></DD> <DD>Returns the format of the index key data. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getIndexKeyFormat()">getIndexKeyFormat</A></CODE> in interface <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the format of the index key data.</DL> </DD> </DL> <HR> <A NAME="extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)"><!-- --></A><H3> extractIndexKey</H3> <PRE> public void <B>extractIndexKey</B>(<A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> primaryKeyData, <A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> valueData, <A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> indexKeyData) throws java.io.IOException</PRE> <DL> <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)">KeyExtractor</A></CODE></B></DD> <DD>Extracts the index key data from primary key and value buffers. The index key is extracted when saving the data record identified by the primary key and value buffers, in order to add or remove an index entry in the database for that data record. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)">extractIndexKey</A></CODE> in interface <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>primaryKeyData</CODE> - is the source primary key data, or null if no primary key data is used to construct the index key, in which case <A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getPrimaryKeyFormat()"><CODE>KeyExtractor.getPrimaryKeyFormat()</CODE></A> should also return null.<DD><CODE>valueData</CODE> - is the source value data, or null if no value data is used to construct the index key, in which case <A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#getValueFormat()"><CODE>KeyExtractor.getValueFormat()</CODE></A> should also return null.<DD><CODE>indexKeyData</CODE> - is the destination index key buffer. For index keys which are optionally present, the buffer's length should be set to zero to indicate that the key is not present or null. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="clearIndexKey(com.sleepycat.bdb.bind.DataBuffer)"><!-- --></A><H3> clearIndexKey</H3> <PRE> public void <B>clearIndexKey</B>(<A HREF="../../../../../com/sleepycat/bdb/bind/DataBuffer.html" title="interface in com.sleepycat.bdb.bind">DataBuffer</A> valueData) throws java.io.IOException</PRE> <DL> <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#clearIndexKey(com.sleepycat.bdb.bind.DataBuffer)">KeyExtractor</A></CODE></B></DD> <DD>Clears the index key in a value buffer. The index key is cleared when the index is for a foreign key identifying a record that has been deleted. This method is called only if the <A HREF="../../../../../com/sleepycat/bdb/ForeignKeyIndex.html" title="class in com.sleepycat.bdb"><CODE>ForeignKeyIndex</CODE></A> is configured with <A HREF="../../../../../com/sleepycat/bdb/ForeignKeyIndex.html#ON_DELETE_CLEAR"><CODE>ForeignKeyIndex.ON_DELETE_CLEAR</CODE></A>. It is never called for index keys that are derived from primary key data, since in this case <A HREF="../../../../../com/sleepycat/bdb/ForeignKeyIndex.html#ON_DELETE_CLEAR"><CODE>ForeignKeyIndex.ON_DELETE_CLEAR</CODE></A> is not allowed. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#clearIndexKey(com.sleepycat.bdb.bind.DataBuffer)">clearIndexKey</A></CODE> in interface <CODE><A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html" title="interface in com.sleepycat.bdb.bind">KeyExtractor</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>valueData</CODE> - is the source and destination value data. On entry this contains the index key to be cleared. It should be changed by this method such that <A HREF="../../../../../com/sleepycat/bdb/bind/KeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)"><CODE>KeyExtractor.extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)</CODE></A> will extract a null key (set the buffer length to zero). Other data in the buffer should remain unchanged. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="extractIndexKey(com.sleepycat.bdb.bind.tuple.TupleInput, java.lang.Object, com.sleepycat.bdb.bind.tuple.TupleOutput)"><!-- --></A><H3> extractIndexKey</H3> <PRE> public abstract void <B>extractIndexKey</B>(<A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleInput.html" title="class in com.sleepycat.bdb.bind.tuple">TupleInput</A> primaryKeyInput, java.lang.Object valueInput, <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bdb.bind.tuple">TupleOutput</A> indexKeyOutput) throws java.io.IOException</PRE> <DL> <DD>Extracts the index key data from primary key tuple data and deserialized value data. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>primaryKeyInput</CODE> - is the <A HREF="../../../../../com/sleepycat/bdb/bind/tuple/TupleInput.html" title="class in com.sleepycat.bdb.bind.tuple"><CODE>TupleInput</CODE></A> for the primary key data, or null if no primary key data is used to construct the index key.<DD><CODE>valueInput</CODE> - is the deserialized value data, or null if no value data 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 data should be output to indicate that the key is not present or null. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="clearIndexKey(java.lang.Object)"><!-- --></A><H3> clearIndexKey</H3> <PRE> public abstract void <B>clearIndexKey</B>(java.lang.Object valueInputOutput) throws java.io.IOException</PRE> <DL> <DD>Clears the index key in the deserialized value data. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>valueInputOutput</CODE> - is the source and destination deserialized value data. On entry this contains the index key to be cleared. It should be changed by this method such that <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html#extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)"><CODE>extractIndexKey(com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer, com.sleepycat.bdb.bind.DataBuffer)</CODE></A> will extract a null key (not output any tuple data). Other data in the value object should remain unchanged. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialBinding.html" title="class in com.sleepycat.bdb.bind.serial"><B>PREV CLASS</B></A> <A HREF="../../../../../com/sleepycat/bdb/bind/serial/TupleSerialMarshalledBinding.html" title="class in com.sleepycat.bdb.bind.serial"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?com/sleepycat/bdb/bind/serial/TupleSerialKeyExtractor.html" target="_top"><B>FRAMES</B></A> <A HREF="TupleSerialKeyExtractor.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> </BODY> </HTML>