<?phpnamespace App\Domain\Entity;use App\Shared\Domain\Interfaces\EstadoInterface;use DateTimeInterface;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Uid\Uuid;class Estado implements EstadoInterface{ private $id; private $key; private $nombre; private $color; private $icono; private $orden; private $descripcion; private ?DateTimeInterface $createdAt = null; private ?DateTimeInterface $updatedAt = null; private ?Entidad $entidad = null; private ?\DateTimeInterface $deletedAt = null; private Collection $metadataExpedientes; public function __construct() { $this->metadataExpedientes = new ArrayCollection(); } public function __toString(): string { return $this->getKey()??''; } public function getKey(): string { return $this->key; } public function setKey(string $key): static { $this->key = $key; return $this; } public function getNombre(): string { return $this->nombre; } public function setNombre(?string $nombre): static { $this->nombre = $nombre; return $this; } public function getColor(): ?string { return $this->color; } public function setColor(?string $color): static { $this->color = $color; return $this; } public function getIcono(): ?string { return $this->icono; } public function setIcono(?string $icono): static { $this->icono = $icono; return $this; } public function getOrden(): ?int { return $this->orden; } public function setOrden(?int $orden): static { $this->orden = $orden; return $this; } public function getId(): ?Uuid { return $this->id; } public function getCreatedAt(): ?DateTimeInterface { return $this->createdAt; } public function setCreatedAt(DateTimeInterface $createdAt): static { $this->createdAt = $createdAt; return $this; } public function getUpdatedAt(): ?DateTimeInterface { return $this->updatedAt; } public function setUpdatedAt(DateTimeInterface $updatedAt): static { $this->updatedAt = $updatedAt; return $this; } public function getEntidad(): ?Entidad { return $this->entidad; } public function setEntidad(?Entidad $entidad): static { $this->entidad = $entidad; return $this; } public function getDeletedAt(): ?\DateTimeInterface { return $this->deletedAt; } public function setDeletedAt(?\DateTimeInterface $deletedAt): static { $this->deletedAt = $deletedAt; return $this; } /** * @return Collection<int, MetadataExpediente> */ public function getMetadataExpedientes(): Collection { return $this->metadataExpedientes; } public function addMetadataExpediente(MetadataExpediente $metadataExpediente): static { if (!$this->metadataExpedientes->contains($metadataExpediente)) { $this->metadataExpedientes->add($metadataExpediente); $metadataExpediente->addEstado($this); } return $this; } public function removeMetadataExpediente(MetadataExpediente $metadataExpediente): static { if ($this->metadataExpedientes->removeElement($metadataExpediente)) { $metadataExpediente->removeEstado($this); } return $this; } public function getDescripcion(): ?string { return $this->descripcion; } public function setDescripcion(?string $descripcion): static { $this->descripcion = $descripcion; return $this; }}//class