registerMetadataManager($filename); } /** * Register a metadata manager for specified filename */ private function registerMetadataManager(string $filename): MetadataManager { $filename = $this->getFilenameInDataBundle($filename, '.json'); if (!array_key_exists($filename, $this->metadataManagers)) { $this->metadataManagers[$filename] = new MetadataManager($filename, $this); } return $this->metadataManagers[$filename]; } /** * Load all metadata files at once */ private function loadMetadata() { foreach ($this->metadataManagers as $manager) { $manager->load(); } } /** * Save all metadata files that needs to be */ private function saveMetadata(): bool { $allSaved = true; foreach ($this->metadataManagers as $manager) { if (!$manager->save()) { $allSaved = false; } } return $allSaved; } }