<?php
namespace App\Entity\Gos;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\Gos\LeadFormResponseItemRepository")
* @ORM\HasLifecycleCallbacks()
*/
class LeadFormResponseItem
{
/** @ORM\PreUpdate() */
public function preUpdate()
{
$this->updatedAt = new \DateTime();
}
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="LeadFormResponse", inversedBy="leadFormResponseItems", cascade={"persist"})
*/
private $leadFormResponse;
/**
* @var \DateTime
*
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
protected $updatedAt;
/**
* @var string
*
* @ORM\Column(name="variable_name", type="string", length=45, unique=false)
*/
private $variableName;
/**
* @ORM\OneToMany(targetEntity="LeadFormResponseItemValue", mappedBy="leadFormResponseItem", orphanRemoval=true, cascade={"persist"})
*/
private $leadFormResponseItemValue;
/**
* @var bool
*
* @ORM\Column(name="required", type="boolean")
*/
protected $required;
/**
* @ORM\ManyToOne(targetEntity="LeadFormResponseVariableTypes", inversedBy="leadFormResponseItems")
* @ORM\JoinColumn(nullable=false)
*/
protected $variableType;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $regex;
/**
* @ORM\ManyToOne(targetEntity=NewsletterTemplate::class, inversedBy="leadFormResponseItems")
*/
private $newsletterTemplate;
/**
* LeadFormResponseItem constructor.
*/
public function __construct()
{
$this->leadFormResponseItemValue = new ArrayCollection();
}
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
*/
public function setId($id): void
{
$this->id = $id;
}
/**
* @return mixed
*/
public function getLeadFormResponse()
{
return $this->leadFormResponse;
}
/**
* @param mixed $leadFormResponse
*/
public function setLeadFormResponse(?LeadFormResponse $leadFormResponse): void
{
$this->leadFormResponse = $leadFormResponse;
}
/**
* @return \DateTime
*/
public function getUpdatedAt(): \DateTime
{
return $this->updatedAt;
}
/**
* @param \DateTime $updatedAt
*/
public function setUpdatedAt(\DateTime $updatedAt): void
{
$this->updatedAt = $updatedAt;
}
/**
* @return string
*/
public function getVariableName()
{
return $this->variableName;
}
/**
* @param string $variableName
*/
public function setVariableName(string $variableName): void
{
$this->variableName = $variableName;
}
/**
* @return Collection
*/
public function getLeadFormResponseItemValue(): Collection
{
return $this->leadFormResponseItemValue;
}
/**
* @param LeadFormResponseItemValue $leadFormResponseItemValue
* @return LeadFormResponseItem
*/
public function addLeadFormResponseItemValue(LeadFormResponseItemValue $leadFormResponseItemValue): self
{
if (!$this->leadFormResponseItemValue->contains($leadFormResponseItemValue)) {
$this->leadFormResponseItemValue[] = $leadFormResponseItemValue;
}
return $this;
}
/**
* @param LeadFormResponseItemValue $leadFormResponseItemValue
* @return LeadFormResponseItem
*/
public function removeLeadFormResponseItemValue(LeadFormResponseItemValue $leadFormResponseItemValue): self
{
if ($this->leadFormResponseItemValue->contains($leadFormResponseItemValue)) {
$this->leadFormResponseItemValue->removeElement($leadFormResponseItemValue);
}
return $this;
}
/**
* @return bool
*/
public function isRequired()
{
return $this->required;
}
/**
* @param bool $required
*/
public function setRequired(bool $required): void
{
$this->required = $required;
}
/**
* @return mixed
*/
public function getVariableType()
{
return $this->variableType;
}
/**
* @param $variableType
*/
public function setVariableType($variableType): void
{
$this->variableType = $variableType;
}
public function getRegex(): ?string
{
return $this->regex;
}
public function setRegex(?string $regex): self
{
$this->regex = $regex;
return $this;
}
public function getNewsletterTemplate(): ?NewsletterTemplate
{
return $this->newsletterTemplate;
}
public function setNewsletterTemplate(?NewsletterTemplate $newsletterTemplate): self
{
$this->newsletterTemplate = $newsletterTemplate;
return $this;
}
}