<?php
namespace App\Entity;
use App\Repository\MediaCategorieRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=MediaCategorieRepository::class)
*/
class MediaCategorie
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\Column(type="json")
*/
private $allowedFormat = [];
/**
* @ORM\OneToMany(targetEntity=SejourSessionMediaCategorie::class, mappedBy="mediaCategorie")
*/
private $sejourSessionMediaCategories;
/**
* @ORM\OneToMany(targetEntity=Media::class, mappedBy="MediaCategorie")
*/
private $media;
/**
* @ORM\OneToMany(targetEntity=ContactMediaCategorie::class, mappedBy="category")
*/
private $contactMediaCategories;
/**
* @ORM\Column(type="string", length=255)
*/
private $type;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isMandatory;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isEditableByDirector;
/**
* @ORM\OneToMany(targetEntity=ArticleMediaCategorie::class, mappedBy="category")
*/
private $articleMediaCategories;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasFillInProcess;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasToBeReturned;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasPrio;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $publishedIn = [];
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $modele;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $Fields = [];
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isUnique;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isDeletable;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isEspaceParent;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isEspaceDirecteur;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isPrivate;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isFactory;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isInAdmin;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $modeleEntity;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasToBeValidateByAdmin;
/**
* @ORM\ManyToOne(targetEntity=InteractionTemplate::class)
*/
private $interactionTemplate;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $referent;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private ?int $interval = null;
public function __construct()
{
$this->sejourSessionMediaCategories = new ArrayCollection();
$this->media = new ArrayCollection();
$this->contactMediaCategories = new ArrayCollection();
$this->articleMediaCategories = new ArrayCollection();
$this->type = "General";
}
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 getAllowedFormat(): ?array
{
return $this->allowedFormat;
}
public function setAllowedFormat(array $allowedFormat): self
{
$this->allowedFormat = $allowedFormat;
return $this;
}
/**
* @return Collection|SejourSessionMediaCategorie[]
*/
public function getSejourSessionMediaCategories(): Collection
{
return $this->sejourSessionMediaCategories;
}
public function addSejourSessionMediaCategorie(SejourSessionMediaCategorie $sejourSessionMediaCategorie): self
{
if (!$this->sejourSessionMediaCategories->contains($sejourSessionMediaCategorie)) {
$this->sejourSessionMediaCategories[] = $sejourSessionMediaCategorie;
$sejourSessionMediaCategorie->setMediaCategorie($this);
}
return $this;
}
public function removeSejourSessionMediaCategorie(SejourSessionMediaCategorie $sejourSessionMediaCategorie): self
{
if ($this->sejourSessionMediaCategories->removeElement($sejourSessionMediaCategorie)) {
// set the owning side to null (unless already changed)
if ($sejourSessionMediaCategorie->getMediaCategorie() === $this) {
$sejourSessionMediaCategorie->setMediaCategorie(null);
}
}
return $this;
}
/**
* @return Collection|Media[]
*/
public function getMedia(): Collection
{
return $this->media;
}
public function addMedium(Media $medium): self
{
if (!$this->media->contains($medium)) {
$this->media[] = $medium;
$medium->setMediaCategorie($this);
}
return $this;
}
public function removeMedium(Media $medium): self
{
if ($this->media->removeElement($medium)) {
// set the owning side to null (unless already changed)
if ($medium->getMediaCategorie() === $this) {
$medium->setMediaCategorie(null);
}
}
return $this;
}
/**
* @return Collection|ContactMediaCategorie[]
*/
public function getContactMediaCategories(): Collection
{
return $this->contactMediaCategories;
}
public function addContactMediaCategory(ContactMediaCategorie $contactMediaCategory): self
{
if (!$this->contactMediaCategories->contains($contactMediaCategory)) {
$this->contactMediaCategories[] = $contactMediaCategory;
$contactMediaCategory->setCategory($this);
}
return $this;
}
public function removeContactMediaCategory(ContactMediaCategorie $contactMediaCategory): self
{
if ($this->contactMediaCategories->removeElement($contactMediaCategory)) {
// set the owning side to null (unless already changed)
if ($contactMediaCategory->getCategory() === $this) {
$contactMediaCategory->setCategory(null);
}
}
return $this;
}
public function getType(): ?string
{
return $this->type;
}
public function setType(string $type): self
{
$this->type = $type;
return $this;
}
public function getIsMandatory(): ?bool
{
return $this->isMandatory;
}
public function setIsMandatory(?bool $isMandatory): self
{
$this->isMandatory = $isMandatory;
return $this;
}
public function getIsEditableByDirector(): ?bool
{
return $this->isEditableByDirector;
}
public function setIsEditableByDirector(?bool $isEditable): self
{
$this->isEditableByDirector = $isEditable;
return $this;
}
/**
* @return Collection|ArticleMediaCategorie[]
*/
public function getArticleMediaCategories(): Collection
{
return $this->articleMediaCategories;
}
public function addArticleMediaCategory(ArticleMediaCategorie $articleMediaCategory): self
{
if (!$this->articleMediaCategories->contains($articleMediaCategory)) {
$this->articleMediaCategories[] = $articleMediaCategory;
$articleMediaCategory->setCategory($this);
}
return $this;
}
public function removeArticleMediaCategory(ArticleMediaCategorie $articleMediaCategory): self
{
if ($this->articleMediaCategories->removeElement($articleMediaCategory)) {
// set the owning side to null (unless already changed)
if ($articleMediaCategory->getCategory() === $this) {
$articleMediaCategory->setCategory(null);
}
}
return $this;
}
public function getHasFillInProcess(): ?bool
{
return $this->hasFillInProcess;
}
public function setHasFillInProcess(?bool $hasFillInProcess): self
{
$this->hasFillInProcess = $hasFillInProcess;
return $this;
}
public function getHasToBeReturned(): ?bool
{
return $this->hasToBeReturned;
}
public function setHasToBeReturned(?bool $hasToBeReturned): self
{
$this->hasToBeReturned = $hasToBeReturned;
return $this;
}
public function getHasPrio(): ?bool
{
return $this->hasPrio;
}
public function setHasPrio(?bool $hasPrio): self
{
$this->hasPrio = $hasPrio;
return $this;
}
public function getPublishedIn(): ?array
{
return $this->publishedIn;
}
public function setPublishedIn(array $publishedIn): self
{
$this->publishedIn = $publishedIn;
return $this;
}
public function getModele(): ?string
{
return $this->modele;
}
public function setModele(?string $modele): self
{
$this->modele = $modele;
return $this;
}
public function getFields(): ?array
{
return $this->Fields;
}
public function setFields(?array $Fields): self
{
$this->Fields = $Fields;
return $this;
}
public function getIsUnique(): ?bool
{
return $this->isUnique;
}
public function setIsUnique(?bool $isUnique): self
{
$this->isUnique = $isUnique;
return $this;
}
public function getIsDeletable(): ?bool
{
return $this->isDeletable;
}
public function setIsDeletable(?bool $isDeletable): self
{
$this->isDeletable = $isDeletable;
return $this;
}
public function getIsEspaceParent(): ?bool
{
return $this->isEspaceParent;
}
public function setIsEspaceParent(?bool $isEspaceParent): self
{
$this->isEspaceParent = $isEspaceParent;
return $this;
}
public function getIsEspaceDirecteur(): ?bool
{
return $this->isEspaceDirecteur;
}
public function setIsEspaceDirecteur(?bool $isEspaceDirecteur): self
{
$this->isEspaceDirecteur = $isEspaceDirecteur;
return $this;
}
public function getIsPrivate(): ?bool
{
return $this->isPrivate;
}
public function setIsPrivate(?bool $isPrivate): self
{
$this->isPrivate = $isPrivate;
return $this;
}
public function getIsFactory(): ?bool
{
return $this->isFactory;
}
public function setIsFactory(?bool $isFactory): self
{
$this->isFactory = $isFactory;
return $this;
}
public function getIsInAdmin(): ?bool
{
return $this->isInAdmin;
}
public function setIsInAdmin(?bool $isInAdmin): self
{
$this->isInAdmin = $isInAdmin;
return $this;
}
public function getModeleEntity(): ?string
{
return $this->modeleEntity;
}
public function setModeleEntity(?string $modeleEntity): self
{
$this->modeleEntity = $modeleEntity;
return $this;
}
public function getHasToBeValidateByAdmin(): ?bool
{
return $this->hasToBeValidateByAdmin;
}
public function setHasToBeValidateByAdmin(?bool $hasToBeValidateByAdmin): self
{
$this->hasToBeValidateByAdmin = $hasToBeValidateByAdmin;
return $this;
}
public function getInteractionTemplate(): ?InteractionTemplate
{
return $this->interactionTemplate;
}
public function setInteractionTemplate(?InteractionTemplate $interactionTemplate): self
{
$this->interactionTemplate = $interactionTemplate;
return $this;
}
public function getReferent(): ?string
{
return $this->referent;
}
public function setReferent(?string $referent): self
{
$this->referent = $referent;
return $this;
}
public function getInterval(): ?int
{
return $this->interval;
}
public function setInterval(?int $interval): self
{
$this->interval = $interval;
return $this;
}
}