image = new NullMedia(); } /** * Get id * * @return int * * @since 1.0.0 */ public function getId() : int { return $this->id; } /** * Get name * * @return string * * @since 1.0.0 */ public function getName() : string { return $this->name; } /** * Set name * * @param string $name Name * * @return void * * @since 1.0.0 */ public function setName(string $name) : void { $this->name = $name; } /** * Get unit image. * * @return Media * * @since 1.0.0 */ public function getImage() : Media { return $this->image ?? new NullMedia(); } /** * Set unit image. * * @param Media $image Profile image * * @return void * * @since 1.0.0 */ public function setImage(Media $image) : void { $this->image = $image; } /** * Get parent * * @return Unit * * @since 1.0.0 */ public function getParent() : self { return $this->parent ?? new NullUnit(); } /** * Set parent * * @param null|Unit $parent Parent * * @return void * * @since 1.0.0 */ public function setParent(?self $parent) : void { $this->parent = $parent; } /** * Get status * * @return int * * @since 1.0.0 */ public function getStatus() : int { return $this->status; } /** * Set status * * @param int $status Status * * @return void * * @since 1.0.0 */ public function setStatus(int $status) : void { $this->status = $status; } /** * Get description * * @return string * * @since 1.0.0 */ public function getDescription() : string { return $this->description; } /** * Set description * * @param string $desc Description * * @return void * * @since 1.0.0 */ public function setDescription(string $desc) : void { $this->description = $desc; } /** * Get description * * @return string * * @since 1.0.0 */ public function getDescriptionRaw() : string { return $this->descriptionRaw; } /** * Set description * * @param string $desc Description * * @return void * * @since 1.0.0 */ public function setDescriptionRaw(string $desc) : void { $this->descriptionRaw = $desc; } /** * {@inheritdoc} */ public function toArray() : array { return [ 'id' => $this->id, 'name' => $this->name, 'description' => $this->description, 'parent' => $this->parent, ]; } /** * {@inheritdoc} */ public function jsonSerialize() { return $this->toArray(); } }