<?php
// src/Acme/UserBundle/Entity/User.php
namespace App\Entity;
use Knp\DoctrineBehaviors\Contract\Entity\SoftDeletableInterface;
use Knp\DoctrineBehaviors\Model\SoftDeletable\SoftDeletableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\TimestampableInterface;
use Knp\DoctrineBehaviors\Model\Timestampable\TimestampableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\BlameableInterface;
use Knp\DoctrineBehaviors\Model\Blameable\BlameableTrait;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Symfony\Component\Filesystem\Exception\FileNotFoundException;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\HttpFoundation\File\File;
/**
* @Doctrine\ORM\Mapping\Entity
* @Doctrine\ORM\Mapping\Table(name="product_xmls")
* @Doctrine\ORM\Mapping\Entity()
*/
class ProductXml implements BlameableInterface, TimestampableInterface, SoftDeletableInterface {
use BlameableTrait;
use TimestampableTrait;
use SoftDeletableTrait;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $main = false;
/**
* @Doctrine\ORM\Mapping\Column(name="visible_heureka", type="boolean", nullable=true)
*/
protected $visibleHeureka = true;
/**
* @Doctrine\ORM\Mapping\Column(name="visible_google", type="boolean", nullable=true)
*/
protected $visibleGoogle = true;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $visible = true;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=true)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="symbol", type="string", length=255, nullable=true)
*/
private $symbol;
/**
* @var string
*
* @ORM\Column(name="product_id", type="string", length=255, nullable=true)
*/
private $productId;
/**
* @var string
*
* @ORM\Column(name="url", type="string", length=255, nullable=true)
*/
private $url;
/**
* @var string
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description;
/**
* @var string
*
* @ORM\Column(name="photo_url", type="string", length=255, nullable=true)
*/
private $photoUrl;
/**
* @Doctrine\ORM\Mapping\Column(type="decimal", precision=10, scale=2, nullable=true)
*/
protected $price;
/**
* @var string
*
* @ORM\Column(name="heureka_category", type="string", length=255, nullable=true)
*/
private $heurekaCategory;
/**
* @var string
*
* @ORM\Column(name="heureka_category_sk", type="string", length=255, nullable=true)
*/
private $heurekaCategorySk;
/**
* @Doctrine\ORM\Mapping\Column(name="visible_heureka_sk", type="boolean", nullable=true)
*/
protected $visibleHeurekaSk = true;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Language")
* @ORM\JoinColumn(name="language", referencedColumnName="id")
*/
protected $language;
/**
* @Doctrine\ORM\Mapping\ManyToMany(targetEntity="App\Entity\GoogleLabel")
* @Doctrine\ORM\Mapping\JoinTable(name="product_xl_google_label_relation")
*/
private $googleLabels;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Product", inversedBy="productXml")
* @ORM\JoinColumn(name="product_reference_id", referencedColumnName="id")
*/
protected $product;
public function __construct()
{
$this->googleLabels = new ArrayCollection();
}
/**
* @return mixed
*/
public function getVisibleGoogle()
{
return $this->visibleGoogle;
}
/**
* @param mixed $visibleGoogle
*/
public function setVisibleGoogle($visibleGoogle): void
{
$this->visibleGoogle = $visibleGoogle;
}
public function getId(): ?int
{
return $this->id;
}
public function getMain(): ?bool
{
return $this->main;
}
public function setMain(?bool $main): self
{
$this->main = $main;
return $this;
}
public function getVisible(): ?bool
{
return $this->visible;
}
public function setVisible(?bool $visible): self
{
$this->visible = $visible;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function getSymbol(): ?string
{
return $this->symbol;
}
public function setSymbol(?string $symbol): self
{
$this->symbol = $symbol;
return $this;
}
public function getProductId(): ?string
{
return $this->productId;
}
public function setProductId(?string $productId): self
{
$this->productId = $productId;
return $this;
}
public function getUrl(): ?string
{
return $this->url;
}
public function setUrl(?string $url): self
{
$this->url = $url;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getPhotoUrl(): ?string
{
return $this->photoUrl;
}
public function setPhotoUrl(?string $photoUrl): self
{
$this->photoUrl = $photoUrl;
return $this;
}
public function getProduct(): ?Product
{
return $this->product;
}
public function setProduct(?Product $product): self
{
$this->product = $product;
return $this;
}
public function getLanguage(): ?Language
{
return $this->language;
}
public function setLanguage(?Language $language): self
{
$this->language = $language;
return $this;
}
/**
* @return Collection|GoogleLabel[]
*/
public function getGoogleLabels(): Collection
{
return $this->googleLabels;
}
public function addGoogleLabel(GoogleLabel $googleLabel): self
{
if (!$this->googleLabels->contains($googleLabel)) {
$this->googleLabels[] = $googleLabel;
}
return $this;
}
public function removeGoogleLabel(GoogleLabel $googleLabel): self
{
if ($this->googleLabels->contains($googleLabel)) {
$this->googleLabels->removeElement($googleLabel);
}
return $this;
}
/**
* @return mixed
*/
public function getVisibleHeureka()
{
return $this->visibleHeureka;
}
/**
* @param mixed $visibleHeureka
*/
public function setVisibleHeureka($visibleHeureka)
{
$this->visibleHeureka = $visibleHeureka;
}
/**
* @return string
*/
public function getHeurekaCategory()
{
return $this->heurekaCategory;
}
/**
* @param string $heurekaCategory
*/
public function setHeurekaCategory($heurekaCategory)
{
$this->heurekaCategory = $heurekaCategory;
}
/**
* @return mixed
*/
public function getPrice()
{
return $this->price;
}
/**
* @param mixed $price
*/
public function setPrice($price)
{
$this->price = $price;
}
/**
* @return string
*/
public function getHeurekaCategorySk()
{
return $this->heurekaCategorySk;
}
/**
* @param string $heurekaCategorySk
*/
public function setHeurekaCategorySk($heurekaCategorySk)
{
$this->heurekaCategorySk = $heurekaCategorySk;
}
/**
* @return mixed
*/
public function getVisibleHeurekaSk()
{
return $this->visibleHeurekaSk;
}
/**
* @param mixed $visibleHeurekaSk
*/
public function setVisibleHeurekaSk($visibleHeurekaSk)
{
$this->visibleHeurekaSk = $visibleHeurekaSk;
}
}