src/Entity/WebList.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\Serializer\Annotation\Groups;
  7. use Symfony\Component\Serializer\Annotation\MaxDepth;
  8. // TODO : rendre toutes les props nullables
  9. /**
  10.  * @ORM\Table(
  11.  *     uniqueConstraints={@ORM\UniqueConstraint(name="weblist_unique_slug_per_site", columns={"slug", "site_id" })},
  12.  *     )
  13.  * @ORM\Entity(repositoryClass="App\Repository\WebListRepository")
  14.  */
  15. class WebList
  16. {
  17.     /**
  18.      * @ORM\Id()
  19.      * @ORM\GeneratedValue()
  20.      * @ORM\Column(type="integer")
  21.      */
  22.     private $id;
  23.     /**
  24.      * @ORM\Column(type="string", length=255, nullable=true)
  25.      */
  26.     private $name;
  27.     /**
  28.      * @ORM\ManyToOne(targetEntity="App\Entity\Selection", inversedBy="webLists")
  29.      * @ORM\JoinColumns({
  30.      *   @ORM\JoinColumn(name="selection_id", referencedColumnName="id")
  31.      * })
  32.      */
  33.     private $selection;
  34.     /**
  35.      * @ORM\Column(type="string", nullable=true, length=1024, options={"comment":"URL en francais"})
  36.      */
  37.     private $permalinkUrl '';
  38.     /**
  39.      * @ORM\Column(type="json", nullable=true, options={"comment":"URL en langues"})
  40.      */
  41.     private $permalinkUrlTranslation;
  42.     /**
  43.      * @ORM\Column(type="string", nullable=true, length=1024, options={"comment":"Slug en francais"})
  44.      */
  45.     private $slug '';
  46.     /**
  47.      * @ORM\Column(type="json", nullable=true, options={"comment":"Slug en langues"})
  48.      */
  49.     private $slugTranslation;
  50.     /**
  51.      * @ORM\Column(type="boolean", nullable=true)
  52.      */
  53.     private $permalinkIsCanonical ;
  54.     /**
  55.      * @ORM\Column(type="boolean", nullable=true)
  56.      */
  57.     private $doNotCreateRewriteRuleForList ;
  58.     /**
  59.      * @ORM\ManyToOne(targetEntity="App\Entity\WebList", inversedBy="originWebLists")
  60.      * @ORM\JoinColumns({
  61.      *   @ORM\JoinColumn(name="destination_web_list_id", referencedColumnName="id")
  62.      * })
  63.      */
  64.     private $destinationWebList;
  65.     /**
  66.      * @var \Doctrine\Common\Collections\Collection
  67.      *
  68.      * @ORM\OneToMany(targetEntity="App\Entity\WebList", mappedBy="destinationWebList", cascade={"persist"})
  69.      */
  70.     private $originWebLists;
  71.     /**
  72.      * @ORM\ManyToOne(targetEntity="App\Entity\WebPage", inversedBy="webLists")
  73.      * @ORM\JoinColumns({
  74.      *   @ORM\JoinColumn(name="web_page_id", referencedColumnName="id")
  75.      * })
  76.      */
  77.     private $webPage;
  78.     /**
  79.      * @ORM\ManyToOne(targetEntity="App\Entity\WebEngine", inversedBy="webLists")
  80.      * @ORM\JoinColumns({
  81.      *   @ORM\JoinColumn(name="web_engine_id", referencedColumnName="id")
  82.      * })
  83.      */
  84.     private $webEngine;
  85.     /**
  86.      * @ORM\ManyToOne(targetEntity="App\Entity\WebSort", inversedBy="webListsStartSortOne")
  87.      * @ORM\JoinColumns({
  88.      *   @ORM\JoinColumn(name="start_sort_one_id", referencedColumnName="id")
  89.      * })
  90.      */
  91.     private $startSortOne;
  92.     /**
  93.      * @ORM\ManyToOne(targetEntity="App\Entity\WebSort", inversedBy="webListsStartSortTwo")
  94.      * @ORM\JoinColumns({
  95.      *   @ORM\JoinColumn(name="start_sort_two_id", referencedColumnName="id")
  96.      * })
  97.      */
  98.     private $startSortTwo;
  99.     /**
  100.      * @ORM\ManyToOne(targetEntity="App\Entity\WebSort", inversedBy="webListsStartSortThree")
  101.      * @ORM\JoinColumns({
  102.      *   @ORM\JoinColumn(name="start_sort_three_id", referencedColumnName="id")
  103.      * })
  104.      */
  105.     private $startSortThree;
  106.     /**
  107.      * @ORM\ManyToOne(targetEntity="App\Entity\WebSort", inversedBy="webListsSortBarOne")
  108.      * @ORM\JoinColumns({
  109.      *   @ORM\JoinColumn(name="sort_bar_one_id", referencedColumnName="id")
  110.      * })
  111.      */
  112.     private $sortBarOne;
  113.     /**
  114.      * @ORM\ManyToOne(targetEntity="App\Entity\WebSort", inversedBy="webListsSortBarTwo")
  115.      * @ORM\JoinColumns({
  116.      *   @ORM\JoinColumn(name="sort_bar_two_id", referencedColumnName="id")
  117.      * })
  118.      */
  119.     private $sortBarTwo;
  120.     /**
  121.      * @ORM\ManyToOne(targetEntity="App\Entity\WebSort", inversedBy="webListsSortBarThree")
  122.      * @ORM\JoinColumns({
  123.      *   @ORM\JoinColumn(name="sort_bar_three_id", referencedColumnName="id")
  124.      * })
  125.      */
  126.     private $sortBarThree;
  127.     /**
  128.      * @var \Doctrine\Common\Collections\Collection
  129.      *
  130.      * @ORM\OneToMany(targetEntity="App\Entity\WebListBlock", mappedBy="webList", cascade={"persist","remove"})
  131.      */
  132.     private $blocks;
  133.     /**
  134.      * @var \App\Entity\Weblist
  135.      *
  136.      * @ORM\ManyToOne(targetEntity="App\Entity\WebList", inversedBy="childrens")
  137.      * @ORM\JoinColumns({
  138.      *   @ORM\JoinColumn(name="parent_id", referencedColumnName="id")
  139.      * })
  140.      */
  141.     private $parent;
  142.     /**
  143.      * @var \Doctrine\Common\Collections\Collection
  144.      *
  145.      * @ORM\OneToMany(targetEntity="App\Entity\WebList", mappedBy="parent", cascade={"persist"})
  146.      */
  147.     private $childrens;
  148.     /**
  149.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="webLists")
  150.      * @ORM\JoinColumns({
  151.      *   @ORM\JoinColumn(name="owner_id", referencedColumnName="id")
  152.      * })
  153.      */
  154.     private $owner;
  155.     /**
  156.      * @ORM\ManyToOne(targetEntity="App\Entity\DnsitEntity", inversedBy="webLists")
  157.      * @ORM\JoinColumns({
  158.      *   @ORM\JoinColumn(name="entity_id", referencedColumnName="id")
  159.      * })
  160.      */
  161.     private $entity;
  162.     /**
  163.      * @ORM\ManyToMany(targetEntity="App\Entity\Tag", inversedBy="webLists")
  164.      */
  165.     private $tags;
  166.     /**
  167.      * @ORM\Column(type="datetime", nullable=true)
  168.      */
  169.     private $createdAt;
  170.     /**
  171.      * @ORM\Column(type="datetime", nullable=true)
  172.      */
  173.     private $updatedAt;
  174.     /**
  175.      * @ORM\Column(type="integer", nullable=true, options={"default":0, "comment":"code de statut : 0=OK"})
  176.      */
  177.     private $state;
  178.     /**
  179.      * @ORM\Column(type="text", nullable=true)
  180.      */
  181.     private $description;
  182.     /**
  183.      * @ORM\Column(type="json", nullable=true)
  184.      */
  185.     private $descriptionTranslations;
  186.     /**
  187.      * @ORM\ManyToMany(targetEntity="App\Entity\Annonce", mappedBy="webLists")
  188.      */
  189.     private $annonces;
  190.     /**
  191.      * @ORM\Column(type="string", length=255, nullable=true)
  192.      */
  193.     private $title;
  194.     /**
  195.      * @ORM\Column(type="json", nullable=true)
  196.      */
  197.     private $titleTranslations;
  198.     /**
  199.      * @ORM\Column(type="string", length=255, nullable=true)
  200.      */
  201.     private $overTitle;
  202.     /**
  203.      * @ORM\Column(type="json", nullable=true)
  204.      */
  205.     private $overTitleTranslations;
  206.     /**
  207.      * @ORM\Column(type="string", length=255, nullable=true)
  208.      */
  209.     private $subTitle;
  210.     /**
  211.      * @ORM\Column(type="json", nullable=true)
  212.      */
  213.     private $subTitleTranslations;
  214.     /**
  215.      * @ORM\ManyToOne(targetEntity=WebListTemplate::class, inversedBy="webLists")
  216.      */
  217.     private $listTemplate;
  218.     /**
  219.      * @ORM\ManyToOne(targetEntity=WebListItemTemplate::class, inversedBy="webLists")
  220.      */
  221.     private $listItemTemplate;
  222.     /**
  223.      * @ORM\OneToMany(targetEntity=WebListParameter::class, mappedBy="webList", orphanRemoval=true, cascade={"persist", "remove"})
  224.      */
  225.     private $parameters;
  226.     /**
  227.      * @ORM\Column(type="string", length=255, options={"default" : "NONE"})
  228.      */
  229.     private $duplicateProductsBy 'NONE';
  230.     /**
  231.      * @ORM\ManyToOne(targetEntity=Site::class, inversedBy="weblists", cascade={"persist"})
  232.      * @ORM\JoinColumn(nullable=true)
  233.      */
  234.     private $site;
  235.     /**
  236.      * @ORM\ManyToOne(targetEntity="App\Entity\Media", inversedBy="weblists")
  237.      * @ORM\JoinColumns({
  238.      *   @ORM\JoinColumn(name="media_id", referencedColumnName="id")
  239.      * })
  240.      */
  241.     private $image;
  242.     /**
  243.      * @ORM\ManyToOne(targetEntity="App\Entity\ListModel", inversedBy="weblists")
  244.      * @ORM\JoinColumns({
  245.      *   @ORM\JoinColumn(name="list_model_id", referencedColumnName="id")
  246.      * })     */
  247.     private $listModel;
  248.     public function __construct()
  249.     {
  250.         $this->childrens = new ArrayCollection();
  251.         $this->blocks = new ArrayCollection();
  252.         $this->tags = new ArrayCollection();
  253.         $this->annonces = new ArrayCollection();
  254.         $this->parameters = new ArrayCollection();
  255.         $this->originWebLists = new ArrayCollection();
  256.     }
  257.     public function getId(): ?int
  258.     {
  259.         return $this->id;
  260.     }
  261.     public function getName(): ?string
  262.     {
  263.         return $this->name;
  264.     }
  265.     public function setName(?string $name): self
  266.     {
  267.         $this->name $name;
  268.         return $this;
  269.     }
  270.     public function getPermalinkUrl(): ?string
  271.     {
  272.         return $this->permalinkUrl;
  273.     }
  274.     public function setPermalinkUrl(?string $permalinkUrl): self
  275.     {
  276.         $this->permalinkUrl $permalinkUrl;
  277.         return $this;
  278.     }
  279.     public function getPermalinkIsCanonical(): ?bool
  280.     {
  281.         return $this->permalinkIsCanonical;
  282.     }
  283.     public function setPermalinkIsCanonical(?bool $permalinkIsCanonical): self
  284.     {
  285.         $this->permalinkIsCanonical $permalinkIsCanonical;
  286.         return $this;
  287.     }
  288.     public function getDoNotCreateRewriteRuleForList(): ?bool
  289.     {
  290.         return $this->doNotCreateRewriteRuleForList;
  291.     }
  292.     public function setDoNotCreateRewriteRuleForList(?bool $doNotCreateRewriteRuleForList): self
  293.     {
  294.         $this->doNotCreateRewriteRuleForList $doNotCreateRewriteRuleForList;
  295.         return $this;
  296.     }
  297.     public function getCreatedAt(): ?\DateTimeInterface
  298.     {
  299.         return $this->createdAt;
  300.     }
  301.     public function setCreatedAt(?\DateTimeInterface $createdAt): self
  302.     {
  303.         $this->createdAt $createdAt;
  304.         return $this;
  305.     }
  306.     public function getUpdatedAt(): ?\DateTimeInterface
  307.     {
  308.         return $this->updatedAt;
  309.     }
  310.     public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
  311.     {
  312.         $this->updatedAt $updatedAt;
  313.         return $this;
  314.     }
  315.     public function getState(): ?int
  316.     {
  317.         return $this->state;
  318.     }
  319.     public function setState(?int $state): self
  320.     {
  321.         $this->state $state;
  322.         return $this;
  323.     }
  324.     public function getSelection(): ?Selection
  325.     {
  326.         return $this->selection;
  327.     }
  328.     public function setSelection(?Selection $selection): self
  329.     {
  330.         $this->selection $selection;
  331.         return $this;
  332.     }
  333.     public function getWebPage(): ?WebPage
  334.     {
  335.         return $this->webPage;
  336.     }
  337.     public function setWebPage(?WebPage $webPage): self
  338.     {
  339.         $this->webPage $webPage;
  340.         return $this;
  341.     }
  342.     public function getDestinationWebList(): ?WebList
  343.     {
  344.         return $this->destinationWebList;
  345.     }
  346.     public function setDestinationWebList(?WebList $webList): self
  347.     {
  348.         $this->destinationWebList $webList;
  349.         return $this;
  350.     }
  351.     public function getWebEngine(): ?WebEngine
  352.     {
  353.         return $this->webEngine;
  354.     }
  355.     public function setWebEngine(?WebEngine $webEngine): self
  356.     {
  357.         $this->webEngine $webEngine;
  358.         return $this;
  359.     }
  360.     public function getStartSortOne(): ?WebSort
  361.     {
  362.         return $this->startSortOne;
  363.     }
  364.     public function setStartSortOne(?WebSort $startSortOne): self
  365.     {
  366.         $this->startSortOne $startSortOne;
  367.         return $this;
  368.     }
  369.     public function getStartSortTwo(): ?WebSort
  370.     {
  371.         return $this->startSortTwo;
  372.     }
  373.     public function setStartSortTwo(?WebSort $startSortTwo): self
  374.     {
  375.         $this->startSortTwo $startSortTwo;
  376.         return $this;
  377.     }
  378.     public function getStartSortThree(): ?WebSort
  379.     {
  380.         return $this->startSortThree;
  381.     }
  382.     public function setStartSortThree(?WebSort $startSortThree): self
  383.     {
  384.         $this->startSortThree $startSortThree;
  385.         return $this;
  386.     }
  387.     public function getSortBarOne(): ?WebSort
  388.     {
  389.         return $this->sortBarOne;
  390.     }
  391.     public function setSortBarOne(?WebSort $sortBarOne): self
  392.     {
  393.         $this->sortBarOne $sortBarOne;
  394.         return $this;
  395.     }
  396.     public function getSortBarTwo(): ?WebSort
  397.     {
  398.         return $this->sortBarTwo;
  399.     }
  400.     public function setSortBarTwo(?WebSort $sortBarTwo): self
  401.     {
  402.         $this->sortBarTwo $sortBarTwo;
  403.         return $this;
  404.     }
  405.     public function getSortBarThree(): ?WebSort
  406.     {
  407.         return $this->sortBarThree;
  408.     }
  409.     public function setSortBarThree(?WebSort $sortBarThree): self
  410.     {
  411.         $this->sortBarThree $sortBarThree;
  412.         return $this;
  413.     }
  414.     public function getOwner(): ?User
  415.     {
  416.         return $this->owner;
  417.     }
  418.     public function setOwner(?User $owner): self
  419.     {
  420.         $this->owner $owner;
  421.         return $this;
  422.     }
  423.     public function getEntity(): ?DnsitEntity
  424.     {
  425.         return $this->entity;
  426.     }
  427.     public function setEntity(?DnsitEntity $entity): self
  428.     {
  429.         $this->entity $entity;
  430.         return $this;
  431.     }
  432.     public function getPermalinkUrlTranslation(): ?array
  433.     {
  434.         return $this->permalinkUrlTranslation;
  435.     }
  436.     public function setPermalinkUrlTranslation(?array $permalinkUrlTranslation): self
  437.     {
  438.         $this->permalinkUrlTranslation $permalinkUrlTranslation;
  439.         return $this;
  440.     }
  441.     /**
  442.      * @return string
  443.      */
  444.     public function getSlug(): ?string
  445.     {
  446.         return $this->slug;
  447.     }
  448.     /**
  449.      * @param string $slug
  450.      */
  451.     public function setSlug(?string $slug): void
  452.     {
  453.         $this->slug $slug;
  454.     }
  455.     public function getSlugTranslation(): ?array
  456.     {
  457.         return $this->slugTranslation;
  458.     }
  459.     public function setSlugTranslation(?array $slugTranslation): self
  460.     {
  461.         $this->slugTranslation $slugTranslation;
  462.         return $this;
  463.     }
  464.     public function getDescription(): ?string
  465.     {
  466.         return $this->description;
  467.     }
  468.     public function setDescription(?string $description): self
  469.     {
  470.         $this->description $description;
  471.         return $this;
  472.     }
  473.     public function getDescriptionTranslations(): ?array
  474.     {
  475.         return $this->descriptionTranslations;
  476.     }
  477.     public function setDescriptionTranslations(?array $descriptionTranslations): self
  478.     {
  479.         $this->descriptionTranslations $descriptionTranslations;
  480.         return $this;
  481.     }
  482.     public function getParent(): ?self
  483.     {
  484.         return $this->parent;
  485.     }
  486.     public function setParent(?self $parent): self
  487.     {
  488.         $this->parent $parent;
  489.         return $this;
  490.     }
  491.     /**
  492.      * @return Collection|WebListBlock[]
  493.      */
  494.     public function getBlocks(): Collection
  495.     {
  496.         return $this->blocks;
  497.     }
  498.     public function addBlock(WebListBlock $block): self
  499.     {
  500.         if (!$this->blocks->contains($block)) {
  501.             $this->blocks[] = $block;
  502.             $block->setWebList($this);
  503.         }
  504.         return $this;
  505.     }
  506.     public function removeBlock(WebListBlock $block): self
  507.     {
  508.         if ($this->blocks->contains($block)) {
  509.             $this->blocks->removeElement($block);
  510.             // set the owning side to null (unless already changed)
  511.             if ($block->getWebList() === $this) {
  512.                 $block->setWebList(null);
  513.             }
  514.         }
  515.         return $this;
  516.     }
  517.     /**
  518.      * @return Collection|WebList[]
  519.      */
  520.     public function getOriginWebList(): Collection
  521.     {
  522.         return $this->originWebLists;
  523.     }
  524.     public function addOriginWebList(WebList $webList): self
  525.     {
  526.         if (!$this->originWebLists->contains($webList)) {
  527.             $this->originWebLists[] = $webList;
  528.             $webList->setDestinationWebList($this);
  529.         }
  530.         return $this;
  531.     }
  532.     public function removeOriginWebList(WebList $webList): self
  533.     {
  534.         if ($this->originWebLists->contains($webList)) {
  535.             $this->originWebLists->removeElement($webList);
  536.             // set the owning side to null (unless already changed)
  537.             if ($webList->getDestinationWebList() === $this) {
  538.                 $webList->setDestinationWebList(null);
  539.             }
  540.         }
  541.         return $this;
  542.     }
  543.     /**
  544.      * @return Collection|WebList[]
  545.      */
  546.     public function getChildrens(): Collection
  547.     {
  548.         return $this->childrens;
  549.     }
  550.     public function addChildren(WebList $children): self
  551.     {
  552.         if (!$this->childrens->contains($children)) {
  553.             $this->childrens[] = $children;
  554.             $children->setParent($this);
  555.         }
  556.         return $this;
  557.     }
  558.     public function removeChildren(WebList $children): self
  559.     {
  560.         if ($this->childrens->contains($children)) {
  561.             $this->childrens->removeElement($children);
  562.             // set the owning side to null (unless already changed)
  563.             if ($children->getParent() === $this) {
  564.                 $children->setParent(null);
  565.             }
  566.         }
  567.         return $this;
  568.     }
  569.     /**
  570.      * @return Collection|Tag[]
  571.      */
  572.     public function getTags(): Collection
  573.     {
  574.         return $this->tags;
  575.     }
  576.     public function addTag(Tag $tag): self
  577.     {
  578.         if (!$this->tags->contains($tag)) {
  579.             $this->tags[] = $tag;
  580.         }
  581.         return $this;
  582.     }
  583.     public function removeTag(Tag $tag): self
  584.     {
  585.         if ($this->tags->contains($tag)) {
  586.             $this->tags->removeElement($tag);
  587.         }
  588.         return $this;
  589.     }
  590.     /**
  591.      * @return Collection|Annonce[]
  592.      */
  593.     public function getAnnonces(): Collection
  594.     {
  595.         return $this->annonces;
  596.     }
  597.     public function addAnnonce(Annonce $annonce): self
  598.     {
  599.         if (!$this->annonces->contains($annonce)) {
  600.             $this->annonces[] = $annonce;
  601.         }
  602.         return $this;
  603.     }
  604.     public function removeAnnonce(Annonce $annonce): self
  605.     {
  606.         if ($this->annonces->contains($annonce)) {
  607.             $this->annonces->removeElement($annonce);
  608.         }
  609.         return $this;
  610.     }
  611.     public function getTitle(): ?string
  612.     {
  613.         return $this->title;
  614.     }
  615.     public function setTitle(?string $title): self
  616.     {
  617.         $this->title $title;
  618.         return $this;
  619.     }
  620.     public function getTitleTranslations(): ?array
  621.     {
  622.         return $this->titleTranslations;
  623.     }
  624.     public function setTitleTranslations(?array $titleTranslations): self
  625.     {
  626.         $this->titleTranslations $titleTranslations;
  627.         return $this;
  628.     }
  629.     public function getOverTitle(): ?string
  630.     {
  631.         return $this->overTitle;
  632.     }
  633.     public function setOverTitle(?string $overTitle): self
  634.     {
  635.         $this->overTitle $overTitle;
  636.         return $this;
  637.     }
  638.     public function getOverTitleTranslations(): ?array
  639.     {
  640.         return $this->overTitleTranslations;
  641.     }
  642.     public function setOverTitleTranslations(?array $overTitleTranslations): self
  643.     {
  644.         $this->overTitleTranslations $overTitleTranslations;
  645.         return $this;
  646.     }
  647.     public function getSubTitle(): ?string
  648.     {
  649.         return $this->subTitle;
  650.     }
  651.     public function setSubTitle(?string $subTitle): self
  652.     {
  653.         $this->subTitle $subTitle;
  654.         return $this;
  655.     }
  656.     public function getSubTitleTranslations(): ?array
  657.     {
  658.         return $this->subTitleTranslations;
  659.     }
  660.     public function setSubTitleTranslations(?array $subTitleTranslations): self
  661.     {
  662.         $this->subTitleTranslations $subTitleTranslations;
  663.         return $this;
  664.     }
  665.     public function getListTemplate(): ?WebListTemplate
  666.     {
  667.         return $this->listTemplate;
  668.     }
  669.     public function setListTemplate(?WebListTemplate $listTemplate): self
  670.     {
  671.         $this->listTemplate $listTemplate;
  672.         return $this;
  673.     }
  674.     public function getListItemTemplate(): ?WebListItemTemplate
  675.     {
  676.         return $this->listItemTemplate;
  677.     }
  678.     public function setListItemTemplate(?WebListItemTemplate $listItemTemplate): self
  679.     {
  680.         $this->listItemTemplate $listItemTemplate;
  681.         return $this;
  682.     }
  683.     /**
  684.      * @return Collection|WebListParameter[]
  685.      */
  686.     public function getParameters(): Collection
  687.     {
  688.         return $this->parameters;
  689.     }
  690.     public function addParameter(WebListParameter $parameter): self
  691.     {
  692.         if (!$this->parameters->contains($parameter)) {
  693.             $this->parameters[] = $parameter;
  694.             $parameter->setWebList($this);
  695.         }
  696.         return $this;
  697.     }
  698.     public function removeParameter(WebListParameter $parameter): self
  699.     {
  700.         if ($this->parameters->removeElement($parameter)) {
  701.             // set the owning side to null (unless already changed)
  702.             if ($parameter->getWebList() === $this) {
  703.                 $parameter->setWebList(null);
  704.             }
  705.         }
  706.         return $this;
  707.     }
  708.     public function getDuplicateProductsBy(): ?string
  709.     {
  710.         return $this->duplicateProductsBy;
  711.     }
  712.     public function setDuplicateProductsBy(?string $duplicateProductsBy): self
  713.     {
  714.         $this->duplicateProductsBy $duplicateProductsBy;
  715.         return $this;
  716.     }
  717.     public function getSite(): ?Site
  718.     {
  719.         return $this->site;
  720.     }
  721.     public function setSite(?Site $site): self
  722.     {
  723.         $this->site $site;
  724.         return $this;
  725.     }
  726.     public function getImage(): ?Media
  727.     {
  728.         return $this->image;
  729.     }
  730.     public function setImage(?Media $image): self
  731.     {
  732.         $this->image $image;
  733.         return $this;
  734.     }
  735.     public function getListModel(): ?ListModel
  736.     {
  737.         return $this->listModel;
  738.     }
  739.     public function setListModel(?ListModel $listModel): self
  740.     {
  741.         $this->listModel $listModel;
  742.         return $this;
  743.     }
  744. }