/**
* ISqlJetBusyHandler.java
* Copyright (C) 2008 TMate Software Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For information on how to redistribute this software under
* the terms of a license other than GNU General Public License
* contact TMate Software at support@sqljet.com
*/
package org.tmatesoft.sqljet.core.table;
import org.tmatesoft.sqljet.core.SqlJetErrorCode;
import org.tmatesoft.sqljet.core.SqlJetException;
/**
*
* Busy handler interface.
*
*
*
* Busy handler are used to implement some behavior on database locking if
* database is locked already by other thread or process. To method call() is
* passed number of retry to obtain database lock. If call() returns true then
* retries to locking still continue. If call() returns false then will be
* thrown {@link SqlJetException} with {@link SqlJetErrorCode#BUSY}.
*
*
* @author TMate Software Ltd.
* @author Sergey Scherbina (sergey.scherbina@gmail.com)
*
*/
public interface ISqlJetBusyHandler {
/**
*
* Callback which implements busy handler.
*
*
*
* To method call() is passed number of retry to obtain database lock. If
* call() returns true then retries to locking still continue. If call()
* returns false then will be thrown {@link SqlJetException} with
* {@link SqlJetErrorCode#BUSY}.
*
*
* @param number
* number of retry to obtain lock on database.
* @return true if retries will continue or false if retries will stop.
*/
boolean call(int number);
}
Ads help maintain this website.