/**
* Objective Database Abstraction Layer (ODAL)
* Copyright (c) 2004, The ODAL Development Group
* All rights reserved.
* For definition of the ODAL Development Group please refer to LICENCE.txt file
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package com.completex.objective.components.persistency.key;
import com.completex.objective.components.persistency.OdalPersistencyException;
import com.completex.objective.components.persistency.Persistency;
import com.completex.objective.components.persistency.Record;
import com.completex.objective.components.persistency.transact.Transaction;
/**
* Stand-alone key generator
*
* @author Gennady Krizhevsky
*/
public interface KeyGenerator {
/**
* Generate next key value
*
* @param transaction transaction
* @param persistency persistency
* @param record record
* @return next key value
* @throws OdalPersistencyException
*/
Object getNextKey(Transaction transaction, Persistency persistency, Record record) throws OdalPersistencyException;
/**
* Generate next key value
*
* @param transaction
* @param persistency
* @param record
* @param dynamicParameters
* @return next key value
* @throws OdalPersistencyException
*/
Object getNextKey(Transaction transaction, Persistency persistency, Record record, Object dynamicParameters) throws OdalPersistencyException;
}
|