/*
* Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: GenericQueryManagerListener.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.database.querymanagers.generic;
/**
* The methods of a <code>GenericQueryManagerListener</code> will be executed
* as the corresponding actions are successfully executed through the
* <code>GenericQueryManager</code> that this listener is registered with.
* <p>The difference with <code>Callbacks</code> is that listeners are
* associated with a <code>GenericQueryManager</code> and
* <code>Callbacks</code> are associated with your domain model. Listeners
* are also only called as a notification mechanisms, they don't allow you to
* intervene in the execution flow. Listeners are called before 'after'
* callbacks.
*
* @author Geert Bevin (gbevin[remove] at uwyn dot com)
* @version $Revision: 3918 $
* @see
* com.uwyn.rife.database.querymanagers.generic.GenericQueryManager
* @see com.uwyn.rife.database.querymanagers.generic.Callbacks
* @since 1.5
*/
public interface GenericQueryManagerListener<BeanType>
{
/**
* Executed when the database structure has been successfully installed.
*
* @since 1.5
*/
void installed();
/**
* Executed when the database structure has been successfully removed.
*
* @since 1.5
*/
void removed();
/**
* Executed when a bean was successfully inserted.
*
* @param bean the bean that was inserted
* @since 1.5
*/
void inserted(BeanType bean);
/**
* Executed when a bean was successfully updated.
*
* @param bean the bean that was updated
* @since 1.5
*/
void updated(BeanType bean);
/**
* Executed when a bean was successfully restored.
*
* @param bean the bean that was restored
* @since 1.5
*/
void restored(BeanType bean);
/**
* Executed when a bean was successfully deleted.
*
* @param objectId the identifier of the bean that was deleted
* @since 1.5
*/
void deleted(int objectId);
}