<?php
namespace App\Entity;
use App\Repository\ParameterHookRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serializer;
use JMS\Serializer\Annotation\Expose;
use JMS\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=ParameterHookRepository::class)
*
* @Serializer\ExclusionPolicy("ALL")
*/
class ParameterHook
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*
* @Expose
* @Groups({"parameter"})
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*
* @Expose
* @Groups({"parameter"})
*/
private $slug;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*
* @Expose
* @Groups({"parameter"})
*/
private $name;
/**
* @ORM\OneToMany(targetEntity=Parameter::class, mappedBy="parameterHook")
*/
private $parameters;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $displayJob;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $displayRole;
public function __construct()
{
$this->parameters = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getSlug(): ?string
{
return $this->slug;
}
public function setSlug(string $slug): self
{
$this->slug = $slug;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
/**
* @return Collection<int, Parameter>
*/
public function getParameters(): Collection
{
return $this->parameters;
}
public function addParameter(Parameter $parameter): self
{
if (!$this->parameters->contains($parameter)) {
$this->parameters[] = $parameter;
$parameter->setParameterHook($this);
}
return $this;
}
public function removeParameter(Parameter $parameter): self
{
if ($this->parameters->removeElement($parameter)) {
// set the owning side to null (unless already changed)
if ($parameter->getParameterHook() === $this) {
$parameter->setParameterHook(null);
}
}
return $this;
}
public function getDisplayRole(): ?array
{
if ($this->displayRole === null) {
return $this->displayRole;
}
return explode(';', $this->displayRole);
}
public function setDisplayRole(?array $displayRole): self
{
if ($displayRole === []) {
$this->displayRole = null;
} else {
$this->displayRole = implode(';', $displayRole);
}
return $this;
}
public function getDisplayJob(): ?array
{
if ($this->displayJob === null) {
return $this->displayJob;
}
return explode(';', $this->displayJob);
}
public function setDisplayJob(?array $displayJob): self
{
if ($displayJob === []) {
$this->displayJob = null;
} else {
$this->displayJob = implode(';', $displayJob);
}
return $this;
}
}