getIdentifier(); if ($identifier === '') { throw new \InvalidArgumentException('Identifier for element browser ' . get_class($elementBrowser) . ' is empty.', 1647241084); } if (isset($this->elementBrowsers[$identifier])) { throw new \InvalidArgumentException('Element browser with identifier ' . $identifier . ' is already registered.', 1647241085); } $this->elementBrowsers[$identifier] = $elementBrowser; } } /** * Whether a registered element browser exists for the identifier */ public function hasElementBrowser(string $identifier): bool { return isset($this->elementBrowsers[$identifier]); } /** * Get registered element browser by identifier */ public function getElementBrowser(string $identifier): ElementBrowserInterface { if (!$this->hasElementBrowser($identifier)) { throw new \UnexpectedValueException('Element browser with identifier ' . $identifier . ' is not registered.', 1647241086); } return $this->elementBrowsers[$identifier]; } /** * Get all registered element browsers * * @return ElementBrowserInterface[] */ public function getElementBrowsers(): array { return $this->elementBrowsers; } }