*/ private array $additionalViewData = []; /** * @param list $hints */ public function __construct( private array $hints, private readonly ServerRequestInterface $request, ) { $this->searchDemand = SearchDemand::fromRequest($this->request); } /** * @return list */ public function getHints(): array { return $this->hints; } /** * @param list $hints */ public function setHints(array $hints): void { $this->hints = []; $this->addHints(...$hints); } public function addHint(string $label): void { $this->addHints($label); } public function addHints(string ...$labels): void { foreach ($labels as $label) { if ($label === '') { continue; } $this->hints[] = $label; } } public function getRequest(): ServerRequestInterface { return $this->request; } public function getSearchDemand(): SearchDemand { return $this->searchDemand; } public function setSearchDemand(SearchDemand $searchDemand): void { $this->searchDemand = $searchDemand; } /** * @return array */ public function getAdditionalViewData(): array { return $this->additionalViewData; } /** * @param array $viewData */ public function setAdditionalViewData(array $viewData): void { $this->additionalViewData = $viewData; } }