name = $name; } /** * @param mixed $name * * @throws InvalidTableName */ public static function fromValue($name): self { return new self($name); } /** * @param mixed $name */ public static function tryFromValue($name): ?self { try { return new self($name); } catch (InvalidTableName $exception) { return null; } } /** * @psalm-return non-empty-string */ public function getName(): string { return $this->name; } /** * @psalm-return non-empty-string */ public function __toString(): string { return $this->name; } }