class CompositeLocator implements MetadataLocatorInterface
11
{
12
public function __construct(
13
private iterable $locators,
14
) {
15
}
16
17
public function locateCollection(string $resourceDirectory): array
18
{
19
$resources = [];
20
21
/** @var MetadataLocatorInterface $locator */
22
foreach ($this->locators as $locator) {
23
foreach ($locator->locateCollection($resourceDirectory) as $resource) {
24
if (!$resource instanceof AdminResource) {
25
throw new Exception(sprintf('The locator "%s" returns an instance of "%s", expected an instance of "%s"', \get_class($locator), \get_class($resource), AdminResource::class));