<?php

namespace Lc\ShopBundle\Model;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Lc\ShopBundle\Context\SluggableInterface;
use Lc\ShopBundle\Context\SortableInterface;
use Lc\ShopBundle\Context\StatusInterface;
use Lc\ShopBundle\Model\AbstractEntity;

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

        use StatusTrait;

        use SluggableTrait;

        /**
         * @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 $image;

        /**
         * @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 getImage(): ?string
        {
                return $this->image;
        }

        public function setImage(?string $image): self
        {
                $this->image = $image;

                return $this;
        }

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

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

                return $this;
        }

}