<?php
namespace App\Entity;
use App\Entity\CustomCode;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
use Symfony\Component\Serializer\Annotation\Context;
use DateTime;
/**
* @ORM\Entity ()
*/
class EditionModeleRubriqueDynamiqueModele
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $name;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\EditionTemplateGabarit", inversedBy="rubriqueDynamiqueModeles", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="gabarit_id", referencedColumnName="id")
* })
*/
private $gabarit;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\CustomCode", inversedBy="editionModeleRubriqueDynamiqueModeles")
*/
private $customCodes;
/**
* @var Collection
*
* @ORM\OneToMany(targetEntity="App\Entity\EditionModeleRubriqueZone", mappedBy="rubriqueDynamiqueModele", cascade={"persist","remove"}, orphanRemoval=true)
* @ORM\OrderBy({"ordering" = "ASC"})
*/
private $zones;
/**
* @ORM\Column(type="json", nullable=true, options={"comment":"Images (+rs langues)"})
*/
private $images;
/**
* @ORM\Column(type="json", nullable=true, options={"comment":"Parametres techniques"})
*/
private $params;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="editionModeleRubriqueDynamiques")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="owner_id", referencedColumnName="id")
* })
*/
private $owner;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\DnsitEntity", inversedBy="editionModeleRubriqueDynamiques")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="entity_id", referencedColumnName="id")
* })
*/
private $entity;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\EditionTemplate", inversedBy="modeleRubriqueDynamiqueModeles")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="template_id", referencedColumnName="id")
* })
*/
private $template;
/**
* @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;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\OneToMany(targetEntity="App\Entity\EditionModeleRubrique", mappedBy="modeleRubriqueDynamique", cascade={"persist"})
*/
private $rubriques;
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 getTemplate() : ?EditionTemplate
{
return $this->template;
}
public function setTemplate(?EditionTemplate $template) : self
{
$this->template = $template;
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;
}
public function __construct()
{
$this->zones = new ArrayCollection();
$this->customCodes = new ArrayCollection();
$this->rubriques = new ArrayCollection();
}
public function getId() : ?int
{
return $this->id;
}
/**
* @return Collection|EditionModeleRubriqueZone[]
*/
public function getZones() : Collection
{
return $this->zones;
}
public function addZone(EditionModeleRubriqueZone $zone) : self
{
if (!$this->zones->contains($zone)) {
$this->zones[] = $zone;
$zone->setRubriqueDynamiqueModele($this);
}
return $this;
}
public function removeZone(EditionModeleRubriqueZone $zone) : self
{
if ($this->zones->contains($zone)) {
$this->zones->removeElement($zone);
// set the owning side to null (unless already changed)
if ($zone->getRubriqueDynamiqueModele() === $this) {
$zone->setRubriqueDynamiqueModele(null);
}
}
return $this;
}
public function getName() : ?string
{
return $this->name;
}
public function setName(?string $name) : self
{
$this->name = $name;
return $this;
}
public function getGabarit() : ?EditionTemplateGabarit
{
return $this->gabarit;
}
public function setGabarit(?EditionTemplateGabarit $gabarit) : self
{
$this->gabarit = $gabarit;
return $this;
}
public function getImages() : ?array
{
return $this->images;
}
public function setImages(?array $images) : self
{
$this->images = $images;
return $this;
}
public function getParams() : ?array
{
return $this->params;
}
public function setParams(?array $params) : self
{
$this->params = $params;
return $this;
}
/**
* @return Collection|CustomCode[]
*/
public function getCustomCodes () : Collection
{
return $this->customCodes;
}
public function addCustomCode (CustomCode $code) : self
{
if (!$this->customCodes->contains($code)) {
$this->customCodes[] = $code;
}
return $this;
}
public function removeCustomCode(CustomCode $code) : self
{
if ($this->customCodes->contains($code)) {
$this->customCodes->removeElement($code);
}
return $this;
}
/**
* @return Collection|EditionModeleRubrique[]
*/
public function getRubriques() : Collection
{
return $this->rubriques;
}
public function addRubrique(EditionModeleRubrique $rubrique) : self
{
if (!$this->rubriques->contains($rubrique)) {
$this->rubriques[] = $rubrique;
$rubrique->setModeleRubriqueDynamique($this);
}
return $this;
}
public function removeRubrique(EditionModeleRubrique $rubrique) : self
{
if ($this->rubriques->contains($rubrique)) {
$this->rubriques->removeElement($rubrique);
// set the owning side to null (unless already changed)
if ($rubrique->getModeleRubriqueDynamique() === $this) {
$rubrique->setModeleRubriqueDynamique(null);
}
}
return $this;
}
}