package data.ooimpl;

import data.*;

/**
  * DataBasketEntrySource that knows how to rollback or commit remove operations.
  *
  * @see DataBasketEntryImpl
  *
  * @author Steffen Zschaler
  * @version 2.0 14/06/1999
  * @since v2.0
  */
public interface SelfManagingDBESource extends DataBasketEntrySource {

  /**
    * Called when a remove must be rolled back.
    *
    * @param db the DataBasket that issued the rollback request
    * @param dbe the DataBasketEntry describing the operation to rollback.
    *
    * @override Always
    */
  public void commitRemove (DataBasket db, DataBasketEntry dbe);

  /**
    * Called when a remove must be commited.
    *
    * @param db the DataBasket that issued the commit request
    * @param dbe the DataBasketEntry describing the operation to commit.
    *
    * @override Always
    */
  public void rollbackRemove (DataBasket db, DataBasketEntry dbe);
}