* @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; /** * Factory for record writer strategy * * @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 */ class RecordWriterStrategyFactory { /** * Build writer strategy object. * * @param string $basePath Base path for harvest * @param array $settings Configuration settings * * @return RecordWriterStrategyInterface */ public function getStrategy($basePath, $settings = []) { if (isset($settings['combineRecords']) && $settings['combineRecords']) { $combineTag = $settings['combineRecordsTag'] ?? null; return new CombinedRecordWriterStrategy($basePath, $combineTag); } return new IndividualRecordWriterStrategy($basePath); } }