‪TYPO3CMS  ‪main
ReportRegistry.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
21 
29 {
33  private array ‪$providers = [];
34 
38  public function ‪__construct(iterable ‪$providers)
39  {
40  foreach (‪$providers as $item) {
41  $this->providers[$item->getIdentifier()] = $item;
42  }
43  }
44 
50  public function ‪getReports(): array
51  {
52  return ‪$this->providers;
53  }
54 
58  public function ‪hasReport(string ‪$identifier): bool
59  {
60  return isset($this->providers[‪$identifier]);
61  }
62 
67  {
68  if (!$this->‪hasReport($identifier)) {
69  throw new \UnexpectedValueException('Report with identifier ' . ‪$identifier . ' is not registered.', 1647241087);
70  }
71 
72  return $this->providers[‪$identifier];
73  }
74 }
‪TYPO3\CMS\Reports\ReportInterface
Definition: ReportInterface.php:22
‪TYPO3\CMS\Reports\Registry\ReportRegistry\getReports
‪ReportInterface[] getReports()
Definition: ReportRegistry.php:50
‪TYPO3\CMS\Reports\Registry\ReportRegistry\$providers
‪array $providers
Definition: ReportRegistry.php:33
‪TYPO3\CMS\Reports\Registry\ReportRegistry
Definition: ReportRegistry.php:29
‪TYPO3\CMS\Reports\Registry
Definition: ReportRegistry.php:18
‪TYPO3\CMS\Reports\Registry\ReportRegistry\__construct
‪__construct(iterable $providers)
Definition: ReportRegistry.php:38
‪TYPO3\CMS\Reports\Registry\ReportRegistry\hasReport
‪hasReport(string $identifier)
Definition: ReportRegistry.php:58
‪TYPO3\CMS\Webhooks\Message\$identifier
‪identifier readonly string $identifier
Definition: FileAddedMessage.php:37
‪TYPO3\CMS\Reports\Registry\ReportRegistry\getReport
‪getReport(string $identifier)
Definition: ReportRegistry.php:66