blob: 63425185190a5d1a4315c63488a9be708a1459a5 [file] [log] [blame]
/*-
* Copyright (C) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
*
* This file was distributed by Oracle as part of a version of Oracle Berkeley
* DB Java Edition made available at:
*
* http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
*
* Please see the LICENSE file included in the top-level directory of the
* appropriate version of Oracle Berkeley DB Java Edition for a copy of the
* license and additional information.
*/
package com.sleepycat.collections;
import com.sleepycat.je.DatabaseEntry;
import com.sleepycat.je.DatabaseException;
/**
* An interface implemented to assign new primary key values.
* An implementation of this interface is passed to the {@link StoredMap}
* or {@link StoredSortedMap} constructor to assign primary keys for that
* store. Key assignment occurs when <code>StoredMap.append()</code> is called.
*
* @author Mark Hayes
*/
public interface PrimaryKeyAssigner {
/**
* Assigns a new primary key value into the given buffer.
*
* @param keyData the buffer.
*
* @throws DatabaseException to stop the operation and cause this exception
* to be propagated to the caller of <code>StoredMap.append()</code>.
*/
void assignKey(DatabaseEntry keyData)
throws DatabaseException;
}