name = $name; $this->version = $version; $this->status = $status; $this->type = $type; $this->typeVersion = $typeVersion; $this->library = $library; $this->libraryVersion = $libraryVersion; $this->author = $author; $this->description = $description; $this->license = $license; $this->loadOption = $loadOption; $this->maturity = $maturity; $this->authVersion = $authVersion; } /** * @param array $state array with the properties */ public static function fromState(array $state): self { return new self( $state['name'] ?? '', $state['version'] ?? null, $state['status'] ?? '', $state['type'] ?? '', $state['typeVersion'] ?? null, $state['library'] ?? null, $state['libraryVersion'] ?? null, $state['author'] ?? null, $state['description'] ?? null, $state['license'] ?? '', $state['loadOption'] ?? null, $state['maturity'] ?? null, $state['authVersion'] ?? null ); } /** * @return array */ public function toArray(): array { return [ 'name' => $this->getName(), 'version' => $this->getVersion(), 'status' => $this->getStatus(), 'type' => $this->getType(), 'type_version' => $this->getTypeVersion(), 'library' => $this->getLibrary(), 'library_version' => $this->getLibraryVersion(), 'author' => $this->getAuthor(), 'description' => $this->getDescription(), 'license' => $this->getLicense(), 'load_option' => $this->getLoadOption(), 'maturity' => $this->getMaturity(), 'auth_version' => $this->getAuthVersion(), ]; } public function getName(): string { return $this->name; } public function getVersion(): ?string { return $this->version; } public function getStatus(): string { return $this->status; } public function getType(): string { return $this->type; } public function getTypeVersion(): ?string { return $this->typeVersion; } public function getLibrary(): ?string { return $this->library; } public function getLibraryVersion(): ?string { return $this->libraryVersion; } public function getAuthor(): ?string { return $this->author; } public function getDescription(): ?string { return $this->description; } public function getLicense(): string { return $this->license; } public function getLoadOption(): ?string { return $this->loadOption; } public function getMaturity(): ?string { return $this->maturity; } public function getAuthVersion(): ?string { return $this->authVersion; } }