* * @ORM\ManyToMany( * targetEntity=SocialAction::class, * mappedBy="evaluations" * ) */ private Collection $socialActions; /** * @ORM\Column(type="json") * * @Serializer\Groups({"read", "docgen:read"}) * * @Serializer\Context({"is-translatable": true}, groups={"docgen:read"}) */ private array $title = []; /** * @ORM\Column(type="text", nullable=true) * * @Serializer\Groups({"read", "docgen:read"}) */ private ?string $url = null; public function __construct() { $this->socialActions = new ArrayCollection(); } /** * @internal do use @see{SocialAction::addEvaluation} */ public function addSocialAction(SocialAction $socialAction): self { if (!$this->socialActions->contains($socialAction)) { $this->socialActions->add($socialAction); } return $this; } public function getDelay(): ?\DateInterval { return $this->delay; } public function getId(): ?int { return $this->id; } public function getNotificationDelay(): ?\DateInterval { return $this->notificationDelay; } public function getSocialActions(): Collection { return $this->socialActions; } public function getTitle(): array { return $this->title; } public function getUrl(): ?string { return $this->url; } public function isActive(): bool { return $this->active; } /** * @return $this * * @internal do use @see{SocialAction::removeEvaluation} */ public function removeSocialAction(SocialAction $socialAction): self { if ($this->socialActions->contains($socialAction)) { $this->socialActions->removeElement($socialAction); } return $this; } public function setActive(bool $active): Evaluation { $this->active = $active; return $this; } public function setDelay(?\DateInterval $delay): self { $this->delay = $delay; return $this; } public function setNotificationDelay(?\DateInterval $notificationDelay): self { $this->notificationDelay = $notificationDelay; return $this; } public function setTitle(array $title): self { $this->title = $title; return $this; } public function setUrl(?string $url): self { $this->url = $url; return $this; } }