package com.ikokoon.serenity.persistence;
import com.ikokoon.serenity.model.Composite;
import com.ikokoon.toolkit.Toolkit;
/**
* This is the top level class in the hierarchy for the database classes. Any common methods that are used in the database classes can be added to
* this class.
*
* @author Michael Couck
* @since 01.12.09
* @version 01.00
*/
public abstract class DataBase implements IDataBase {
/**
* Sets the id for a composite.
*
* @param composite
* the composite to set the id for
*/
synchronized final void setId(Composite<?, ?> composite) {
if (composite == null) {
return;
}
if (composite.getId() == null) {
Object[] uniqueValues = Toolkit.getUniqueValues(composite);
Long id = Toolkit.hash(uniqueValues);
composite.setId(id);
}
}
}