<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\EditionLegendeRepository")
*/
class EditionLegende
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, options={"comment":"Nom interne"})
*/
private $name;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\OneToMany(targetEntity="App\Entity\EditionLegendeItem", mappedBy="legend", cascade={"persist","remove"}, orphanRemoval=true)
* @ORM\OrderBy({"rank" = "ASC"})
*/
private $legendItems;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
/**
* @ORM\Column(type="integer", nullable=true, options={"default":0, "comment":"code de statut : 0=OK"})
*/
private $state;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="editionLegendes")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="owner_id", referencedColumnName="id")
* })
*/
private $owner;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\DnsitEntity", inversedBy="editionLegendes")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="entity_id", referencedColumnName="id")
* })
*/
private $entity;
/**
* @var \Doctrine\Common\Collections\Collection
* @ORM\OneToMany(targetEntity="App\Entity\EditionModeleRubriqueLegende", mappedBy="legende", cascade={"persist","remove"})
*/
private $rubriqueLegendes;
public function __construct()
{
$this->legendItems = new ArrayCollection();
$this->rubriqueLegendes = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getState(): ?int
{
return $this->state;
}
public function setState(?int $state): self
{
$this->state = $state;
return $this;
}
public function getOwner(): ?User
{
return $this->owner;
}
public function setOwner(?User $owner): self
{
$this->owner = $owner;
return $this;
}
public function getEntity(): ?DnsitEntity
{
return $this->entity;
}
public function setEntity(?DnsitEntity $entity): self
{
$this->entity = $entity;
return $this;
}
/**
* @return Collection|EditionLegendeItem[]
*/
public function getLegendItems(): Collection
{
return $this->legendItems;
}
public function addLegendItem(EditionLegendeItem $legendItem): self
{
if (!$this->legendItems->contains($legendItem)) {
$this->legendItems[] = $legendItem;
$legendItem->setLegend($this);
}
return $this;
}
public function removeLegendItem(EditionLegendeItem $legendItem): self
{
if ($this->legendItems->contains($legendItem)) {
$this->legendItems->removeElement($legendItem);
// set the owning side to null (unless already changed)
if ($legendItem->getLegend() === $this) {
$legendItem->setLegend(null);
}
}
return $this;
}
/**
* @return Collection|EditionModeleRubriqueLegendes[]
*/
public function getRubriqueLegendes(): Collection
{
return $this->rubriqueLegendes;
}
public function addRubriqueLegende(EditionModeleRubriqueLegende $legende): self
{
if (!$this->rubriqueLegendes->contains($legende)) {
$this->rubriqueLegendes[] = $legende;
// ajouter aussi la relation correspondante de l'autre côté pour éviter les incohérences
$legende->setLegende($this);
}
return $this;
}
public function removeRubriqueLegende(EditionModeleRubriqueLegende $legende): self
{
if ($this->rubriqueLegendes->contains($legende)) {
$this->rubriqueLegendes->removeElement($legende);
// passer l'autre côté à null pour éviter les incohérences
if ($legende->getLegende() === $this) {
$legende->setLegende(null);
}
}
return $this;
}
}