operationId = $operationId; $this->requestHandler = $requestHandler; $this->middlewares = $middlewares; $this->routeArguments = $routeArguments; } public function getOperationId(): string { return $this->operationId; } public function getRequestHandler(): string { return $this->requestHandler; } public function getMiddlewares(): array { return $this->middlewares; } public function getRouteArguments(): array { return $this->routeArguments; } public function addRouteArgument(RouteArgumentInterface $routeArgument): self { $name = $routeArgument->getName(); if (!($this->routeArguments[$name] ?? false) instanceof RouteArgumentInterface) { $this->routeArguments[$name] = $routeArgument; } return $this; } public function hasRouteArgument(string $name): bool { return isset($this->routeArguments[$name]); } public function getRouteArgument(string $name): RouteArgumentInterface { if (!($this->routeArguments[$name] ?? false) instanceof RouteArgumentInterface) { throw new \InvalidArgumentException('No router argument found for name: ' . $name, 1600994238); } return $this->routeArguments[$name]; } public function offsetExists($offset): bool { return $offset === 'operationId' || $offset === 'requestHandler' || $this->hasRouteArgument($offset); } public function offsetGet($offset) { if ($offset === 'operationId') { return $this->getOperationId(); } if ($offset === 'requestHandler') { return $this->getRequestHandler(); } return $this->getRouteArgument($offset); } public function offsetSet($offset, $value): void { throw new \InvalidArgumentException('RouteResultArguments cannot be modified.', 1600970434); } public function offsetUnset($offset): void { throw new \InvalidArgumentException('RouteResultArguments cannot be modified.', 1600970434); } }