identifierType = strtoupper(trim($identifierType)); $this->capability = trim($capability); $this->allowedProviders = array_values(array_filter(array_map( static fn ($provider): string => is_string($provider) ? trim($provider) : '', $allowedProviders ), static fn (string $provider): bool => $provider !== '')); $this->searchStrategy = trim($searchStrategy); $this->status = trim($status); $this->confidence = max(0.0, min(1.0, $confidence)); $this->notes = array_values(array_filter(array_map( static fn ($note): string => is_string($note) ? trim($note) : '', $notes ), static fn (string $note): bool => $note !== '')); } public function getIdentifierType(): string { return $this->identifierType; } public function getCapability(): string { return $this->capability; } public function getAllowedProviders(): array { return $this->allowedProviders; } public function getSearchStrategy(): string { return $this->searchStrategy; } public function getStatus(): string { return $this->status; } public function getConfidence(): float { return $this->confidence; } public function getNotes(): array { return $this->notes; } }