vendor/fri0z/mldev-gallery-bundle/src/Entity/Item.php line 16

Open in your IDE?
  1. <?php
  2. namespace MLDev\GalleryBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use MLDev\BaseBundle\Entity\Traits\Timestampable;
  5. use Symfony\Component\HttpFoundation\File\File;
  6. /**
  7.  * Item
  8.  *
  9.  * @ORM\Table(name="MLDev_Gallery_Item")
  10.  * @ORM\Entity(repositoryClass="MLDev\GalleryBundle\Repository\ItemRepository")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class Item
  14. {
  15.     use Timestampable;
  16.     /**
  17.      * @var int
  18.      *
  19.      * @ORM\Column(name="id", type="integer")
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue(strategy="AUTO")
  22.      */
  23.     private $id;
  24.     /**
  25.      * @var int|null
  26.      *
  27.      * @ORM\Column(name="priority", type="integer", nullable=true)
  28.      */
  29.     private $priority 100;
  30.     /**
  31.      * @var bool
  32.      *
  33.      * @ORM\Column(name="isActive", type="boolean")
  34.      */
  35.     private $isActive true;
  36.     /**
  37.      * @var string|null
  38.      *
  39.      * @ORM\Column(name="title", type="string", length=255, nullable=true)
  40.      */
  41.     private $title;
  42.     /**
  43.      * @var string|null
  44.      *
  45.      * @ORM\Column(name="description", type="text", nullable=true)
  46.      */
  47.     private $description;
  48.     /**
  49.      * @var string|null
  50.      *
  51.      * @ORM\Column(name="link", type="string", length=255, nullable=true)
  52.      */
  53.     private $link;
  54.     /**
  55.      * @ORM\ManyToOne(targetEntity="MLDev\GalleryBundle\Entity\Album", inversedBy="items", cascade={"persist"})
  56.      * @ORM\JoinColumn(name="albumId", referencedColumnName="id", onDelete="CASCADE"))
  57.      */
  58.     private $album;
  59.     /**
  60.      * @var string
  61.      *
  62.      * @ORM\Column(name="path", type="string", length=255)
  63.      */
  64.     protected $path;
  65.     /**
  66.      * @var string
  67.      *
  68.      * @ORM\Column(name="uri", type="string", length=255)
  69.      */
  70.     protected $uri;
  71.     /**
  72.      * @var File|string
  73.      */
  74.     private $file;
  75.     /**
  76.      * Get id.
  77.      *
  78.      * @return int
  79.      */
  80.     public function getId()
  81.     {
  82.         return $this->id;
  83.     }
  84.     /**
  85.      * Set priority.
  86.      *
  87.      * @param int|null $priority
  88.      *
  89.      * @return Item
  90.      */
  91.     public function setPriority($priority null)
  92.     {
  93.         $this->priority $priority;
  94.         return $this;
  95.     }
  96.     /**
  97.      * Get priority.
  98.      *
  99.      * @return int|null
  100.      */
  101.     public function getPriority()
  102.     {
  103.         return $this->priority;
  104.     }
  105.     /**
  106.      * Set isActive.
  107.      *
  108.      * @param bool $isActive
  109.      *
  110.      * @return Item
  111.      */
  112.     public function setIsActive($isActive)
  113.     {
  114.         $this->isActive $isActive;
  115.         return $this;
  116.     }
  117.     /**
  118.      * Get isActive.
  119.      *
  120.      * @return bool
  121.      */
  122.     public function getIsActive()
  123.     {
  124.         return $this->isActive;
  125.     }
  126.     /**
  127.      * Set title.
  128.      *
  129.      * @param string|null $title
  130.      *
  131.      * @return Item
  132.      */
  133.     public function setTitle($title null)
  134.     {
  135.         $this->title $title;
  136.         return $this;
  137.     }
  138.     /**
  139.      * Get title.
  140.      *
  141.      * @return string|null
  142.      */
  143.     public function getTitle()
  144.     {
  145.         return $this->title;
  146.     }
  147.     /**
  148.      * Set description.
  149.      *
  150.      * @param string|null $description
  151.      *
  152.      * @return Item
  153.      */
  154.     public function setDescription($description null)
  155.     {
  156.         $this->description $description;
  157.         return $this;
  158.     }
  159.     /**
  160.      * Get description.
  161.      *
  162.      * @return string|null
  163.      */
  164.     public function getDescription()
  165.     {
  166.         return $this->description;
  167.     }
  168.     /**
  169.      * Set link.
  170.      *
  171.      * @param string|null $link
  172.      *
  173.      * @return Item
  174.      */
  175.     public function setLink($link null)
  176.     {
  177.         $this->link $link;
  178.         return $this;
  179.     }
  180.     /**
  181.      * Get link.
  182.      *
  183.      * @return string|null
  184.      */
  185.     public function getLink()
  186.     {
  187.         return $this->link;
  188.     }
  189.     /**
  190.      * @return mixed
  191.      */
  192.     public function getAlbum()
  193.     {
  194.         return $this->album;
  195.     }
  196.     /**
  197.      * @param $album
  198.      */
  199.     public function setAlbum($album)
  200.     {
  201.         $this->album $album;
  202.     }
  203.     /**
  204.      * @return mixed
  205.      */
  206.     public function getFile()
  207.     {
  208.         if ($this->file instanceof File) {
  209.             return $this->file;
  210.         }
  211.         if (\file_exists($this->path)) {
  212.             return new File($this->path);
  213.         }
  214.         return null;
  215.     }
  216.     /**
  217.      * @param File $file
  218.      */
  219.     public function setFile(File $file)
  220.     {
  221.         $this->file $file;
  222.     }
  223.     /**
  224.      * @return string
  225.      */
  226.     public function getPath()
  227.     {
  228.         return $this->path;
  229.     }
  230.     /**
  231.      * @param string $path
  232.      */
  233.     public function setPath($path)
  234.     {
  235.         $this->path $path;
  236.     }
  237.     /**
  238.      * @return string
  239.      */
  240.     public function getUri()
  241.     {
  242.         return $this->uri;
  243.     }
  244.     /**
  245.      * @param string $uri
  246.      */
  247.     public function setUri($uri)
  248.     {
  249.         $this->uri $uri;
  250.     }
  251. }