handle(); } abstract protected function handle(): string; abstract protected function getExtension(): string; protected function filename(?string $ext = null): string { return sprintf('exp_%s.%s', Str::slug($this->report->accession_number), $ext ?? $this->getExtension()); } }