createdAt = new \DateTimeImmutable('now'); } /** * Get module id. * * @return int * * @since 1.0.0 */ public function getId() : int { return $this->id; } /** * Get created at. * * @return \DateTime * * @since 1.0.0 */ public function getCreatedAt() : \DateTimeInterface { return $this->createdAt; } /** * Get module name. * * @return string * * @since 1.0.0 */ public function getName() : string { return $this->name; } /** * Set module name. * * @param string $name module name * * @return void * * @since 1.0.0 */ public function setName(string $name) : void { $this->name = $name; } /** * Get module description. * * @return string * * @since 1.0.0 */ public function getDescription() : string { return $this->description; } /** * Set module description. * * @param string $description Module description * * @return void * * @since 1.0.0 */ public function setDescription(string $description) : void { $this->description = $description; } /** * Get module status. * * @return int Module status * * @since 1.0.0 */ public function getStatus() : int { return $this->status; } /** * Set module status. * * @param int $status Module status * * @return void * * @since 1.0.0 */ public function setStatus(int $status) : void { if (!ModuleStatusUpdateType::isValidValue($status)) { throw new InvalidEnumValue($status); } $this->status = $status; } /** * Get string representation. * * @return string * * @since 1.0.0 */ public function __toString() { return (string) \json_encode($this->toArray()); } /** * {@inheritdoc} */ public function jsonSerialize() { return $this->toArray(); } /** * {@inheritdoc} */ public function toArray() : array { return [ 'id' => $this->id, 'name' => $this->name, 'description' => $this->description, 'createdAt' => $this->createdAt, ]; } }