/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2000, 2015 Oracle and/or its affiliates. All rights reserved.
*
* $Id$
*/
package com.sleepycat.db;
/**
An interface specifying a callback function that modifies stored data
based on a generated key.
*/
public interface RecordNumberAppender {
/**
A callback function to modify the stored database based on the
generated key.
<p>
When storing records using {@link com.sleepycat.db.Database#append Database.append} it may be
useful to modify the stored data based on the generated key. This function will be called after the record number has been
selected, but before the data has been stored.
<p> The callback function may modify the data {@link com.sleepycat.db.DatabaseEntry DatabaseEntry}. <p> The callback function must throw a {@link com.sleepycat.db.DatabaseException DatabaseException} object
to encapsulate the error on failure. That object will be thrown to
caller of {@link com.sleepycat.db.Database#append Database.append}.
<p>
@param db
The enclosing database handle.
<p> @param data
The data to be stored.
<p>
@param recno
The generated record number.
*/
void appendRecordNumber(Database db, DatabaseEntry data, int recno)
throws DatabaseException;
}