Current File : //usr/share/doc/bdb/java/com/sleepycat/db/SecondaryConfig.html
<!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_23) on Fri May 11 14:10:05 EDT 2012 -->
<TITLE>
SecondaryConfig (Oracle - Berkeley DB Java API)
</TITLE>

<META NAME="date" CONTENT="2012-05-11">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="SecondaryConfig (Oracle - Berkeley DB Java API)";
    }
}
</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="class-use/SecondaryConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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>
<b>Berkeley DB</b><br><font size="-1"> version 5.3.21</font></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/sleepycat/db/RunRecoveryException.html" title="class in com.sleepycat.db"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/sleepycat/db/SecondaryCursor.html" title="class in com.sleepycat.db"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?com/sleepycat/db/SecondaryConfig.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SecondaryConfig.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.db</FONT>
<BR>
Class SecondaryConfig</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../com/sleepycat/db/DatabaseConfig.html" title="class in com.sleepycat.db">com.sleepycat.db.DatabaseConfig</A>
      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.db.SecondaryConfig</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>SecondaryConfig</B><DT>extends <A HREF="../../../com/sleepycat/db/DatabaseConfig.html" title="class in com.sleepycat.db">DatabaseConfig</A><DT>implements <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DL>
</PRE>

<P>
The configuration properties of a <code>SecondaryDatabase</code> extend
those of a primary <code>Database</code>.
The secondary database configuration is specified when calling <A HREF="../../../com/sleepycat/db/Environment.html#openSecondaryDatabase(com.sleepycat.db.Transaction, java.lang.String, java.lang.String, com.sleepycat.db.Database, com.sleepycat.db.SecondaryConfig)"><CODE>Environment.openSecondaryDatabase</CODE></A>.
<p>
To create a configuration object with default attributes:
<pre>
    SecondaryConfig config = new SecondaryConfig();
</pre>
To set custom attributes:
<pre>
    SecondaryConfig config = new SecondaryConfig();
    config.setAllowCreate(true);
    config.setSortedDuplicates(true);
    config.setKeyCreator(new MyKeyCreator());
</pre>
<p>
<hr>
<p>
NOTE: There are two situations where the use of secondary databases without
transactions requires special consideration.  When using a transactional
database or when doing read operations only, this note does not apply.
<ul>
<li>If secondary is configured to not allow duplicates, when the secondary
is being updated it is possible that an error will occur when the secondary
key value in a record being added is already present in the database.  A
<code>DatabaseException</code> will be thrown in this situation.</li>
<li>If a foreign key constraint is configured with the delete action
<code>ABORT</code> (the default setting), a <code>DatabaseException</code>
will be thrown if an attempt is made to delete a referenced foreign
key.</li>
</ul>
In both cases, the operation will be partially complete because the primary
database record will have already been updated or deleted.  In the presence
of transactions, the exception will cause the transaction to abort.  Without
transactions, it is the responsibility of the caller to handle the results
of the incomplete update or to take steps to prevent this situation from
happening in the first place.
<p>
</hr>
<p>
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/Environment.html#openSecondaryDatabase(com.sleepycat.db.Transaction, java.lang.String, java.lang.String, com.sleepycat.db.Database, com.sleepycat.db.SecondaryConfig)"><CODE>Environment.openSecondaryDatabase</CODE></A>, 
<A HREF="../../../com/sleepycat/db/SecondaryDatabase.html" title="class in com.sleepycat.db"><CODE>SecondaryDatabase</CODE></A></DL>
<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>static&nbsp;<A HREF="../../../com/sleepycat/db/SecondaryConfig.html" title="class in com.sleepycat.db">SecondaryConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#DEFAULT">DEFAULT</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/db/SecondaryConfig.html#SecondaryConfig()">SecondaryConfig</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance with the system's default settings.</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/db/SecondaryConfig.html#getAllowPopulate()">getAllowPopulate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether automatic population of the secondary is allowed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;com.sleepycat.db.internal.Db</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#getForeignKeyDatabase()">getForeignKeyDatabase</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the database used to check the foreign key integrity constraint,
 or null if no foreign key constraint will be checked.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/sleepycat/db/ForeignKeyDeleteAction.html" title="class in com.sleepycat.db">ForeignKeyDeleteAction</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#getForeignKeyDeleteAction()">getForeignKeyDeleteAction</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the action taken when a referenced record in the foreign key
 database is deleted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#getForeignKeyNullifier()">getForeignKeyNullifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the user-supplied object used for setting single-valued foreign
 keys to null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/sleepycat/db/ForeignMultiKeyNullifier.html" title="interface in com.sleepycat.db">ForeignMultiKeyNullifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#getForeignMultiKeyNullifier()">getForeignMultiKeyNullifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the user-supplied object used for setting multi-valued foreign
 keys to null.</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/db/SecondaryConfig.html#getImmutableSecondaryKey()">getImmutableSecondaryKey</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the secondary key is immutable.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#getKeyCreator()">getKeyCreator</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the user-supplied object used for creating single-valued secondary
    keys.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/sleepycat/db/SecondaryMultiKeyCreator.html" title="interface in com.sleepycat.db">SecondaryMultiKeyCreator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#getMultiKeyCreator()">getMultiKeyCreator</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the user-supplied object used for creating multi-valued secondary
    keys.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setAllowPopulate(boolean)">setAllowPopulate</A></B>(boolean&nbsp;allowPopulate)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether automatic population of the secondary is allowed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignKeyDatabase(com.sleepycat.db.Database)">setForeignKeyDatabase</A></B>(<A HREF="../../../com/sleepycat/db/Database.html" title="class in com.sleepycat.db">Database</A>&nbsp;foreignDb)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a foreign key integrity constraint for a given foreign key
 database.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignKeyDeleteAction(com.sleepycat.db.ForeignKeyDeleteAction)">setForeignKeyDeleteAction</A></B>(<A HREF="../../../com/sleepycat/db/ForeignKeyDeleteAction.html" title="class in com.sleepycat.db">ForeignKeyDeleteAction</A>&nbsp;action)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the action taken when a referenced record in the foreign key
 database is deleted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignKeyNullifier(com.sleepycat.db.ForeignKeyNullifier)">setForeignKeyNullifier</A></B>(<A HREF="../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A>&nbsp;keyNullifier)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the user-supplied object used for setting single-valued
 foreign keys to null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignMultiKeyNullifier(com.sleepycat.db.ForeignMultiKeyNullifier)">setForeignMultiKeyNullifier</A></B>(<A HREF="../../../com/sleepycat/db/ForeignMultiKeyNullifier.html" title="interface in com.sleepycat.db">ForeignMultiKeyNullifier</A>&nbsp;multiKeyNullifier)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the user-supplied object used for setting multi-valued foreign
 keys to null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setImmutableSecondaryKey(boolean)">setImmutableSecondaryKey</A></B>(boolean&nbsp;immutableSecondaryKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies whether the secondary key is immutable.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setKeyCreator(com.sleepycat.db.SecondaryKeyCreator)">setKeyCreator</A></B>(<A HREF="../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A>&nbsp;keyCreator)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the user-supplied object used for creating single-valued
    secondary keys.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setMultiKeyCreator(com.sleepycat.db.SecondaryMultiKeyCreator)">setMultiKeyCreator</A></B>(<A HREF="../../../com/sleepycat/db/SecondaryMultiKeyCreator.html" title="interface in com.sleepycat.db">SecondaryMultiKeyCreator</A>&nbsp;multiKeyCreator)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the user-supplied object used for creating multi-valued
    secondary keys.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.sleepycat.db.DatabaseConfig"><!-- --></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.db.<A HREF="../../../com/sleepycat/db/DatabaseConfig.html" title="class in com.sleepycat.db">DatabaseConfig</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../com/sleepycat/db/DatabaseConfig.html#cloneConfig()">cloneConfig</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getAllowCreate()">getAllowCreate</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getBtreeComparator()">getBtreeComparator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getBtreeCompressor()">getBtreeCompressor</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getBtreeMinKey()">getBtreeMinKey</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getBtreePrefixCalculator()">getBtreePrefixCalculator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getBtreeRecordNumbers()">getBtreeRecordNumbers</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getByteOrder()">getByteOrder</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getByteSwapped()">getByteSwapped</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getCacheCount()">getCacheCount</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getCacheSize()">getCacheSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getChecksum()">getChecksum</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getCreateDir()">getCreateDir</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getDirtyRead()">getDirtyRead</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getDuplicateComparator()">getDuplicateComparator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getEncrypted()">getEncrypted</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getErrorPrefix()">getErrorPrefix</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getErrorStream()">getErrorStream</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getExclusiveCreate()">getExclusiveCreate</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getFeedbackHandler()">getFeedbackHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getHashComparator()">getHashComparator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getHasher()">getHasher</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getHashFillFactor()">getHashFillFactor</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getHashNumElements()">getHashNumElements</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getHeapRegionSize()">getHeapRegionSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getHeapsize()">getHeapsize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getMessageHandler()">getMessageHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getMessageStream()">getMessageStream</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getMode()">getMode</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getMultiversion()">getMultiversion</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getNoMMap()">getNoMMap</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getNoWaitDbExclusiveLock()">getNoWaitDbExclusiveLock</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPageSize()">getPageSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPanicHandler()">getPanicHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPartitionDirs()">getPartitionDirs</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPartitionHandler()">getPartitionHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPartitionKeys()">getPartitionKeys</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPartitionParts()">getPartitionParts</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getPriority()">getPriority</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getQueueExtentSize()">getQueueExtentSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getQueueInOrder()">getQueueInOrder</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getReadOnly()">getReadOnly</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getReadUncommitted()">getReadUncommitted</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getRecordDelimiter()">getRecordDelimiter</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getRecordLength()">getRecordLength</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getRecordNumberAppender()">getRecordNumberAppender</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getRecordPad()">getRecordPad</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getRecordSource()">getRecordSource</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getRenumbering()">getRenumbering</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getReverseSplitOff()">getReverseSplitOff</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getSnapshot()">getSnapshot</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getSortedDuplicates()">getSortedDuplicates</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getTransactional()">getTransactional</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getTransactionNotDurable()">getTransactionNotDurable</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getTruncate()">getTruncate</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getType()">getType</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#getUnsortedDuplicates()">getUnsortedDuplicates</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setAllowCreate(boolean)">setAllowCreate</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setBtreeComparator(java.util.Comparator)">setBtreeComparator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setBtreeCompressor(com.sleepycat.db.BtreeCompressor)">setBtreeCompressor</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setBtreeMinKey(int)">setBtreeMinKey</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setBtreePrefixCalculator(com.sleepycat.db.BtreePrefixCalculator)">setBtreePrefixCalculator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setBtreeRecordNumbers(boolean)">setBtreeRecordNumbers</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setByteOrder(int)">setByteOrder</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setCacheCount(int)">setCacheCount</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setCacheSize(long)">setCacheSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setChecksum(boolean)">setChecksum</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setCreateDir(java.io.File)">setCreateDir</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setDirtyRead(boolean)">setDirtyRead</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setDuplicateComparator(java.util.Comparator)">setDuplicateComparator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setEncrypted(java.lang.String)">setEncrypted</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setErrorHandler(com.sleepycat.db.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setErrorPrefix(java.lang.String)">setErrorPrefix</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setErrorStream(java.io.OutputStream)">setErrorStream</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setExclusiveCreate(boolean)">setExclusiveCreate</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setFeedbackHandler(com.sleepycat.db.FeedbackHandler)">setFeedbackHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setHashComparator(java.util.Comparator)">setHashComparator</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setHasher(com.sleepycat.db.Hasher)">setHasher</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setHashFillFactor(int)">setHashFillFactor</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setHashNumElements(int)">setHashNumElements</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setHeapRegionSize(int)">setHeapRegionSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setHeapsize(long)">setHeapsize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setMessageHandler(com.sleepycat.db.MessageHandler)">setMessageHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setMessageStream(java.io.OutputStream)">setMessageStream</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setMode(int)">setMode</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setMultiversion(boolean)">setMultiversion</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setNoMMap(boolean)">setNoMMap</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setNoWaitDbExclusiveLock(java.lang.Boolean)">setNoWaitDbExclusiveLock</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setPageSize(int)">setPageSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setPanicHandler(com.sleepycat.db.PanicHandler)">setPanicHandler</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setPartitionByCallback(int, com.sleepycat.db.PartitionHandler)">setPartitionByCallback</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setPartitionByRange(int, com.sleepycat.db.MultipleDataEntry)">setPartitionByRange</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setPartitionDirs(java.io.File[])">setPartitionDirs</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setPriority(com.sleepycat.db.CacheFilePriority)">setPriority</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setQueueExtentSize(int)">setQueueExtentSize</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setQueueInOrder(boolean)">setQueueInOrder</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setReadOnly(boolean)">setReadOnly</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setReadUncommitted(boolean)">setReadUncommitted</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setRecordDelimiter(int)">setRecordDelimiter</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setRecordLength(int)">setRecordLength</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setRecordNumberAppender(com.sleepycat.db.RecordNumberAppender)">setRecordNumberAppender</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setRecordPad(int)">setRecordPad</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setRecordSource(java.io.File)">setRecordSource</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setRenumbering(boolean)">setRenumbering</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setReverseSplitOff(boolean)">setReverseSplitOff</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setSnapshot(boolean)">setSnapshot</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setSortedDuplicates(boolean)">setSortedDuplicates</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setTransactional(boolean)">setTransactional</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setTransactionNotDurable(boolean)">setTransactionNotDurable</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setTruncate(boolean)">setTruncate</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setType(com.sleepycat.db.DatabaseType)">setType</A>, <A HREF="../../../com/sleepycat/db/DatabaseConfig.html#setUnsortedDuplicates(boolean)">setUnsortedDuplicates</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.<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></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="DEFAULT"><!-- --></A><H3>
DEFAULT</H3>
<PRE>
public static final <A HREF="../../../com/sleepycat/db/SecondaryConfig.html" title="class in com.sleepycat.db">SecondaryConfig</A> <B>DEFAULT</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="SecondaryConfig()"><!-- --></A><H3>
SecondaryConfig</H3>
<PRE>
public <B>SecondaryConfig</B>()</PRE>
<DL>
<DD>Creates an instance with the system's default settings.
<P>
</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="setAllowPopulate(boolean)"><!-- --></A><H3>
setAllowPopulate</H3>
<PRE>
public void <B>setAllowPopulate</B>(boolean&nbsp;allowPopulate)</PRE>
<DL>
<DD>Specifies whether automatic population of the secondary is allowed.
    <p>
    If automatic population is allowed, when the secondary database is
    opened it is checked to see if it is empty.  If it is empty, the
    primary database is read in its entirety and keys are added to the
    secondary database using the information read from the primary.
    <p>
    If this property is set to true and the database is transactional, the
    population of the secondary will be done within the explicit or auto-commit
    transaction that is used to open the database.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>allowPopulate</CODE> - whether automatic population of the secondary is
    allowed.</DL>
</DD>
</DL>
<HR>

<A NAME="getAllowPopulate()"><!-- --></A><H3>
getAllowPopulate</H3>
<PRE>
public boolean <B>getAllowPopulate</B>()</PRE>
<DL>
<DD>Returns whether automatic population of the secondary is allowed.  If
    <A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setAllowPopulate(boolean)"><CODE>setAllowPopulate(boolean)</CODE></A> has not been called, this method returns
    false.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>whether automatic population of the secondary is allowed.
    <p><DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setAllowPopulate(boolean)"><CODE>setAllowPopulate(boolean)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setImmutableSecondaryKey(boolean)"><!-- --></A><H3>
setImmutableSecondaryKey</H3>
<PRE>
public void <B>setImmutableSecondaryKey</B>(boolean&nbsp;immutableSecondaryKey)</PRE>
<DL>
<DD>Specifies whether the secondary key is immutable.
    <p>
    Specifying that a secondary key is immutable can be used to optimize
    updates when the secondary key in a primary record will never be changed
    after that primary record is inserted.  For immutable secondary keys, a
    best effort is made to avoid calling
    <code>SecondaryKeyCreator.createSecondaryKey</code> when a primary record
    is updated.  This optimization may reduce the overhead of an update
    operation significantly if the <code>createSecondaryKey</code> operation is
    expensive.
    <p>
    Be sure to set this property to true only if the secondary key in the
    primary record is never changed.  If this rule is violated, the secondary
    index will become corrupted, that is, it will become out of sync with the
    primary.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>immutableSecondaryKey</CODE> - whether the secondary key is immutable.</DL>
</DD>
</DL>
<HR>

<A NAME="getImmutableSecondaryKey()"><!-- --></A><H3>
getImmutableSecondaryKey</H3>
<PRE>
public boolean <B>getImmutableSecondaryKey</B>()</PRE>
<DL>
<DD>Returns whether the secondary key is immutable.  If
    <A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setImmutableSecondaryKey(boolean)"><CODE>setImmutableSecondaryKey(boolean)</CODE></A> has not been called, this method returns
    false.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>whether the secondary key is immutable.
    <p><DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setImmutableSecondaryKey(boolean)"><CODE>setImmutableSecondaryKey(boolean)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setKeyCreator(com.sleepycat.db.SecondaryKeyCreator)"><!-- --></A><H3>
setKeyCreator</H3>
<PRE>
public void <B>setKeyCreator</B>(<A HREF="../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A>&nbsp;keyCreator)</PRE>
<DL>
<DD>Specifies the user-supplied object used for creating single-valued
    secondary keys.
    <p>
    Unless the primary database is read-only, a key creator is required
    when opening a secondary database.  Either a KeyCreator or MultiKeyCreator
    must be specified, but both may not be specified.
    <p>
    Unless the primary database is read-only, a key creator is required
    when opening a secondary database.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>keyCreator</CODE> - the user-supplied object used for creating single-valued
    secondary keys.</DL>
</DD>
</DL>
<HR>

<A NAME="getKeyCreator()"><!-- --></A><H3>
getKeyCreator</H3>
<PRE>
public <A HREF="../../../com/sleepycat/db/SecondaryKeyCreator.html" title="interface in com.sleepycat.db">SecondaryKeyCreator</A> <B>getKeyCreator</B>()</PRE>
<DL>
<DD>Returns the user-supplied object used for creating single-valued secondary
    keys.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the user-supplied object used for creating single-valued secondary
    keys.
    <p><DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setKeyCreator(com.sleepycat.db.SecondaryKeyCreator)"><CODE>setKeyCreator(com.sleepycat.db.SecondaryKeyCreator)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setMultiKeyCreator(com.sleepycat.db.SecondaryMultiKeyCreator)"><!-- --></A><H3>
setMultiKeyCreator</H3>
<PRE>
public void <B>setMultiKeyCreator</B>(<A HREF="../../../com/sleepycat/db/SecondaryMultiKeyCreator.html" title="interface in com.sleepycat.db">SecondaryMultiKeyCreator</A>&nbsp;multiKeyCreator)</PRE>
<DL>
<DD>Specifies the user-supplied object used for creating multi-valued
    secondary keys.
    <p>
    Unless the primary database is read-only, a key creator is required
    when opening a secondary database.  Either a KeyCreator or MultiKeyCreator
    must be specified, but both may not be specified.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>multiKeyCreator</CODE> - the user-supplied object used for creating multi-valued
    secondary keys.</DL>
</DD>
</DL>
<HR>

<A NAME="getMultiKeyCreator()"><!-- --></A><H3>
getMultiKeyCreator</H3>
<PRE>
public <A HREF="../../../com/sleepycat/db/SecondaryMultiKeyCreator.html" title="interface in com.sleepycat.db">SecondaryMultiKeyCreator</A> <B>getMultiKeyCreator</B>()</PRE>
<DL>
<DD>Returns the user-supplied object used for creating multi-valued secondary
    keys.
    <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the user-supplied object used for creating multi-valued secondary
    keys.
    <p><DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setKeyCreator(com.sleepycat.db.SecondaryKeyCreator)"><CODE>setKeyCreator(com.sleepycat.db.SecondaryKeyCreator)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setForeignKeyDatabase(com.sleepycat.db.Database)"><!-- --></A><H3>
setForeignKeyDatabase</H3>
<PRE>
public void <B>setForeignKeyDatabase</B>(<A HREF="../../../com/sleepycat/db/Database.html" title="class in com.sleepycat.db">Database</A>&nbsp;foreignDb)</PRE>
<DL>
<DD>Defines a foreign key integrity constraint for a given foreign key
 database.

 <p>If this property is non-null, a record must be present in the
 specified foreign database for every record in the secondary database,
 where the secondary key value is equal to the foreign database key
 value. Whenever a record is to be added to the secondary database, the
 secondary key is used as a lookup key in the foreign database.

 <p>The foreign database must not have duplicates allowed.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>foreignDb</CODE> - the database used to check the foreign key
 integrity constraint, or null if no foreign key constraint should be
 checked.</DL>
</DD>
</DL>
<HR>

<A NAME="getForeignKeyDatabase()"><!-- --></A><H3>
getForeignKeyDatabase</H3>
<PRE>
public com.sleepycat.db.internal.Db <B>getForeignKeyDatabase</B>()</PRE>
<DL>
<DD>Returns the database used to check the foreign key integrity constraint,
 or null if no foreign key constraint will be checked.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the foreign key database, or null.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignKeyDatabase(com.sleepycat.db.Database)"><CODE>setForeignKeyDatabase(com.sleepycat.db.Database)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setForeignKeyDeleteAction(com.sleepycat.db.ForeignKeyDeleteAction)"><!-- --></A><H3>
setForeignKeyDeleteAction</H3>
<PRE>
public void <B>setForeignKeyDeleteAction</B>(<A HREF="../../../com/sleepycat/db/ForeignKeyDeleteAction.html" title="class in com.sleepycat.db">ForeignKeyDeleteAction</A>&nbsp;action)</PRE>
<DL>
<DD>Specifies the action taken when a referenced record in the foreign key
 database is deleted.

 <p>This property is ignored if the foreign key database property is
 null.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>action</CODE> - the action taken when a referenced record
 in the foreign key database is deleted.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/ForeignKeyDeleteAction.html" title="class in com.sleepycat.db"><CODE>@see #setForeignKeyDatabase</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getForeignKeyDeleteAction()"><!-- --></A><H3>
getForeignKeyDeleteAction</H3>
<PRE>
public <A HREF="../../../com/sleepycat/db/ForeignKeyDeleteAction.html" title="class in com.sleepycat.db">ForeignKeyDeleteAction</A> <B>getForeignKeyDeleteAction</B>()</PRE>
<DL>
<DD>Returns the action taken when a referenced record in the foreign key
 database is deleted.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the action taken when a referenced record in the foreign key
 database is deleted.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignKeyDeleteAction(com.sleepycat.db.ForeignKeyDeleteAction)"><CODE>setForeignKeyDeleteAction(com.sleepycat.db.ForeignKeyDeleteAction)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setForeignKeyNullifier(com.sleepycat.db.ForeignKeyNullifier)"><!-- --></A><H3>
setForeignKeyNullifier</H3>
<PRE>
public void <B>setForeignKeyNullifier</B>(<A HREF="../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A>&nbsp;keyNullifier)</PRE>
<DL>
<DD>Specifies the user-supplied object used for setting single-valued
 foreign keys to null.

 <p>This method may <em>not</em> be used along with <A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setMultiKeyCreator(com.sleepycat.db.SecondaryMultiKeyCreator)"><CODE>setMultiKeyCreator(com.sleepycat.db.SecondaryMultiKeyCreator)</CODE></A>.  When using a multi-key creator, use <A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignMultiKeyNullifier(com.sleepycat.db.ForeignMultiKeyNullifier)"><CODE>setForeignMultiKeyNullifier(com.sleepycat.db.ForeignMultiKeyNullifier)</CODE></A> instead.</p>

 <p>If the foreign key database property is non-null and the foreign key
 delete action is <code>NULLIFY</code>, this property is required to be
 non-null; otherwise, this property is ignored.</p>

 <p><em>WARNING:</em> Key nullifier instances are shared by multiple
 threads and key nullifier methods are called without any special
 synchronization.  Therefore, key creators must be thread safe.  In
 general no shared state should be used and any caching of computed
 values must be done with proper synchronization.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>keyNullifier</CODE> - the user-supplied object used for setting
 single-valued foreign keys to null.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db"><CODE>@see ForeignKeyDeleteAction#NULLIFY @see
 #setForeignKeyDatabase</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getForeignKeyNullifier()"><!-- --></A><H3>
getForeignKeyNullifier</H3>
<PRE>
public <A HREF="../../../com/sleepycat/db/ForeignKeyNullifier.html" title="interface in com.sleepycat.db">ForeignKeyNullifier</A> <B>getForeignKeyNullifier</B>()</PRE>
<DL>
<DD>Returns the user-supplied object used for setting single-valued foreign
 keys to null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the user-supplied object used for setting single-valued foreign
 keys to null.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignKeyNullifier(com.sleepycat.db.ForeignKeyNullifier)"><CODE>setForeignKeyNullifier(com.sleepycat.db.ForeignKeyNullifier)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setForeignMultiKeyNullifier(com.sleepycat.db.ForeignMultiKeyNullifier)"><!-- --></A><H3>
setForeignMultiKeyNullifier</H3>
<PRE>
public void <B>setForeignMultiKeyNullifier</B>(<A HREF="../../../com/sleepycat/db/ForeignMultiKeyNullifier.html" title="interface in com.sleepycat.db">ForeignMultiKeyNullifier</A>&nbsp;multiKeyNullifier)</PRE>
<DL>
<DD>Specifies the user-supplied object used for setting multi-valued foreign
 keys to null.

 <p>If the foreign key database property is non-null and the foreign key
 delete action is <code>NULLIFY</code>, this property is required to be
 non-null; otherwise, this property is ignored.</p>

 <p><em>WARNING:</em> Key nullifier instances are shared by multiple
 threads and key nullifier methods are called without any special
 synchronization.  Therefore, key creators must be thread safe.  In
 general no shared state should be used and any caching of computed
 values must be done with proper synchronization.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>multiKeyNullifier</CODE> - the user-supplied object used for
 setting multi-valued foreign keys to null.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/ForeignMultiKeyNullifier.html" title="interface in com.sleepycat.db"><CODE>@see ForeignKeyDeleteAction#NULLIFY @see
 #setForeignKeyDatabase</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getForeignMultiKeyNullifier()"><!-- --></A><H3>
getForeignMultiKeyNullifier</H3>
<PRE>
public <A HREF="../../../com/sleepycat/db/ForeignMultiKeyNullifier.html" title="interface in com.sleepycat.db">ForeignMultiKeyNullifier</A> <B>getForeignMultiKeyNullifier</B>()</PRE>
<DL>
<DD>Returns the user-supplied object used for setting multi-valued foreign
 keys to null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the user-supplied object used for setting multi-valued foreign
 keys to null.<DT><B>See Also:</B><DD><A HREF="../../../com/sleepycat/db/SecondaryConfig.html#setForeignMultiKeyNullifier(com.sleepycat.db.ForeignMultiKeyNullifier)"><CODE>setForeignMultiKeyNullifier(com.sleepycat.db.ForeignMultiKeyNullifier)</CODE></A></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="class-use/SecondaryConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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>
<b>Berkeley DB</b><br><font size="-1"> version 5.3.21</font></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/sleepycat/db/RunRecoveryException.html" title="class in com.sleepycat.db"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/sleepycat/db/SecondaryCursor.html" title="class in com.sleepycat.db"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?com/sleepycat/db/SecondaryConfig.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SecondaryConfig.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>
<font size=1>Copyright (c) 1996, 2012 Oracle and/or its affiliates.  All rights reserved.</font>
</BODY>
</HTML>