<?php
namespace App\Entity\Gestiform\Formations\Catalogue;
use App\Entity\AbstractEntity;
use App\Entity\Gestiform\Formations\Catalogue\Parcours\Parcours;
use App\Repository\Gestiform\Formations\Catalogue\NiveauRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=NiveauRepository::class)
*/
class Niveau extends AbstractEntity
{
/**
* @ORM\Column(type="string", length=255, nullable=false)
*/
private string $intitule;
/**
* @ORM\Column(type="string", length=255)
*/
private ?string $code = null;
/**
* @ORM\OneToMany(targetEntity=Parcours::class, mappedBy="niveauEntree")
*/
private Collection $parcoursAsNiveauEntree;
/**
* @ORM\OneToMany(targetEntity=Parcours::class, mappedBy="niveauSortie")
*/
private Collection $parcoursAsNiveauSortie;
public function __construct()
{
$this->parcoursAsNiveauEntree = new ArrayCollection();
$this->parcoursAsNiveauSortie = new ArrayCollection();
}
public function getIntitule(): ?string
{
return $this->intitule;
}
public function setIntitule(string $intitule): self
{
$this->intitule = $intitule;
return $this;
}
public function getCode(): ?string
{
return $this->code;
}
public function setCode(string $code): self
{
$this->code = $code;
return $this;
}
/**
* @return Collection<int, Parcours>
*/
public function getParcoursAsNiveauEntree(): Collection
{
return $this->parcoursAsNiveauEntree;
}
public function addParcoursAsNiveauEntree(Parcours $parcoursAsNiveauEntree): self
{
if (!$this->parcoursAsNiveauEntree->contains($parcoursAsNiveauEntree)) {
$this->parcoursAsNiveauEntree->add($parcoursAsNiveauEntree);
$parcoursAsNiveauEntree->setNiveauEntree($this);
}
return $this;
}
public function removeParcoursAsNiveauEntree(Parcours $parcoursAsNiveauEntree): self
{
if ($this->parcoursAsNiveauEntree->removeElement($parcoursAsNiveauEntree)) {
// set the owning side to null (unless already changed)
if ($parcoursAsNiveauEntree->getNiveauEntree() === $this) {
$parcoursAsNiveauEntree->setNiveauEntree(null);
}
}
return $this;
}
/**
* @return Collection<int, Parcours>
*/
public function getParcoursAsNiveauSortie(): Collection
{
return $this->parcoursAsNiveauSortie;
}
public function addParcoursAsNiveauSortie(Parcours $parcoursAsNiveauSortie): self
{
if (!$this->parcoursAsNiveauSortie->contains($parcoursAsNiveauSortie)) {
$this->parcoursAsNiveauSortie->add($parcoursAsNiveauSortie);
$parcoursAsNiveauSortie->setNiveauSortie($this);
}
return $this;
}
public function removeParcoursAsNiveauSortie(Parcours $parcoursAsNiveauSortie): self
{
if ($this->parcoursAsNiveauSortie->removeElement($parcoursAsNiveauSortie)) {
// set the owning side to null (unless already changed)
if ($parcoursAsNiveauSortie->getNiveauSortie() === $this) {
$parcoursAsNiveauSortie->setNiveauSortie(null);
}
}
return $this;
}
}