<?php

namespace Lc\ShopBundle\Model;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Lc\ShopBundle\Context\ImageInterface;
use Lc\ShopBundle\Context\SeoInterface;
use Lc\ShopBundle\Context\SluggableInterface;
use Lc\ShopBundle\Context\SortableInterface;
use Lc\ShopBundle\Context\StatusInterface;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;

/**
 * @ORM\MappedSuperclass
 * @Vich\Uploadable
 */
abstract class AbstractDocumentEntity extends AbstractEntity implements StatusInterface, SortableInterface, SluggableInterface, SeoInterface, ImageInterface
{
        use SortableTrait;

        use StatusTrait;

        use SluggableTrait;

        use ImageTrait;

        use SeoTrait;

        /**
         * @ORM\Column(type="string", length=255)
         */
        protected $title;

        /**
         * @ORM\Column(type="text", nullable=true)
         */
        protected $description;



        /**
         * @ORM\Column(type="string", length=255, nullable=true)
         */
        protected $devAlias;





        public function getTitle(): ?string
        {
                return $this->title;
        }

        public function setTitle(string $title): self
        {
                $this->title = $title;

                return $this;
        }


        public function getDescription(): ?string
        {
                return $this->description;
        }

        public function setDescription(?string $description): self
        {
                $this->description = $description;

                return $this;
        }



        public function getDevAlias(): ?string
        {
                return $this->devAlias;
        }

        public function setDevAlias(?string $devAlias): self
        {
                $this->devAlias = $devAlias;

                return $this;
        }

}