2 namespace TYPO3\CMS\Core\Resource
;
5 * This file is part of the TYPO3 CMS project.
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
14 * The TYPO3 project - inspiring people to share!
17 use TYPO3\CMS\Core\Collection\RecordCollectionRepository
;
18 use TYPO3\CMS\Core\Utility\GeneralUtility
;
21 * Repository for accessing the collections stored in the database
23 class FileCollectionRepository
extends RecordCollectionRepository
28 protected $table = 'sys_file_collection';
33 protected $typeField = 'type';
36 * Finds a record collection by uid.
38 * @param int $uid The uid to be looked up
39 * @return null|Collection\AbstractFileCollection
40 * @throws Exception\ResourceDoesNotExistException
42 public function findByUid($uid)
44 $object = parent
::findByUid($uid);
45 if ($object === null
) {
46 throw new Exception\
ResourceDoesNotExistException('Could not find row with uid "' . $uid . '" in table "' . $this->table
. '"', 1314354066);
52 * Creates a record collection domain object.
54 * @param array $record Database record to be reconsituted
56 * @return Collection\AbstractFileCollection
58 protected function createDomainObject(array $record)
60 return $this->getFileFactory()->createCollectionObject($record);
64 * Gets the file factory.
66 * @return ResourceFactory
68 protected function getFileFactory()
70 return GeneralUtility
::makeInstance(ResourceFactory
::class);