/* * Copyright (c) 2011, Jan Stender, Bjoern Kolbeck, Mikael Hoegqvist, * Felix Hupfeld, Felix Langner, Zuse Institute Berlin * * Licensed under the BSD License, see LICENSE file for details. * */ package de.mxro.thrd.babudb05.api.dev; import de.mxro.thrd.babudb05.api.SnapshotManager; import de.mxro.thrd.babudb05.api.exception.BabuDBException; import de.mxro.thrd.babudb05.snapshots.SnapshotConfig; /** * Interface of {@link SnapshotManager} for internal usage. This should not be accessed * by any user application, but may be accessed by plugins. * * @author flangner * @since 03/18/2011 */ public interface SnapshotManagerInternal extends SnapshotManager { /** * Method to retrieve the directory of the designated snapshot. * * @param dbName * @param snapshotName * @return the directory the designated snapshot has been stored. */ public String getSnapshotDir(String dbName, String snapshotName); /** * Invoked by the framework when snapshot creation has completed. * @param dbName * @param snap * * @throws BabuDBException */ public void snapshotComplete(String dbName, SnapshotConfig snap) throws BabuDBException; /** * Method to delete all available snapshots of a database. * * @param dbName * @throws BabuDBException */ public void deleteAllSnapshots(String dbName) throws BabuDBException; /** * Terminates the {@link SnapshotManager}. * * @throws BabuDBException if an error occurs. */ public void shutdown() throws BabuDBException; }