* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/indexing:oai-pmh Wiki */ namespace VuFindHarvest\RecordWriterStrategy; /** * Interface for record writer strategies. * * @category VuFind * @package Harvest_Tools * @author Demian Katz * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/indexing:oai-pmh Wiki */ interface RecordWriterStrategyInterface { /** * Get base path for writes. * * @return string */ public function getBasePath(); /** * Called before the writing process begins. * * @return void */ public function beginWrite(); /** * Add the ID of a deleted record. * * @param string $id ID * * @return void */ public function addDeletedRecord($id); /** * Add a non-deleted record. * * @param string $id ID * @param string $record Record XML * * @return void */ public function addRecord($id, $record); /** * Close out the writing process. * * @return void */ public function endWrite(); }