PruefeKatalog.php
Pfad: src/Application/Abgleich/PruefeKatalog.php
Ext: php
Größe: 1274 Bytes
Geändert: 2026-07-16 00:34:30+02
<?php
declare(strict_types=1);
namespace Demo\Application\Abgleich;
use Demo\Domain\Abgleich\ArtefaktKatalog;
use Demo\Domain\Abgleich\Abweichung;
use Demo\Domain\Abgleich\RealitaetsPruefung;
/**
* Anwendungsfall: prueft jeden Katalog-Eintrag gegen die Realitaet.
*/
final class PruefeKatalog
{
/** @var ArtefaktKatalog Quelle der Katalog-Eintraege. */
private ArtefaktKatalog $katalog;
/** @var RealitaetsPruefung Realitaets-Pruefung. */
private RealitaetsPruefung $pruefung;
/**
* @param ArtefaktKatalog $katalog Katalog-Zugriff.
* @param RealitaetsPruefung $pruefung Realitaets-Pruefung.
*/
public function __construct(ArtefaktKatalog $katalog, RealitaetsPruefung $pruefung)
{
$this->katalog = $katalog;
$this->pruefung = $pruefung;
}
/**
* Fuehrt den Abgleich aus.
*
* @return list<Abweichung> Befund je Eintrag.
*/
public function execute(): array
{
$out = [];
foreach ($this->katalog->alle() as $eintrag) {
$out[] = new Abweichung(
$eintrag->typ,
$eintrag->bezeichner,
$this->pruefung->pruefe($eintrag->typ, $eintrag->bezeichner)
);
}
return $out;
}
}