getBackend()->writePreview($preview, $stream); } #[Override] public function readPreview(Preview $preview): mixed { return $this->getBackend()->readPreview($preview); } #[Override] public function deletePreview(Preview $preview): void { $this->getBackend()->deletePreview($preview); } private function getBackend(): IPreviewStorage { if ($this->backend) { return $this->backend; } if ($this->objectStoreConfig->hasObjectStore()) { $this->backend = Server::get(ObjectStorePreviewStorage::class); } else { $this->backend = Server::get(LocalPreviewStorage::class); } return $this->backend; } #[Override] public function migratePreview(Preview $preview, SimpleFile $file): void { $this->getBackend()->migratePreview($preview, $file); } #[Override] public function scan(): int { return $this->getBackend()->scan(); } }