src/Daikin/BaseBundle/Entity/AbstractDeleteableEntity.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Daikin\BaseBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use JMS\Serializer\Annotation as Serializer;
  5. /**
  6.  * @ORM\MappedSuperclass
  7.  * @Serializer\ExclusionPolicy("all")
  8.  */
  9. abstract class AbstractDeleteableEntity
  10. {
  11.     /** @ORM\Column(type="integer", name="deletestatus") */
  12.     protected $deletestatus;
  13.     public function __construct()
  14.     {
  15.         $this->deletestatus 0;
  16.     }
  17.     abstract public function setUpdatedAt($updatedAt);
  18.     abstract public function getUpdatedAt();
  19.     abstract public function getId();
  20.     /**
  21.      * Set deletestatus property
  22.      *
  23.      * @param integer $deletestatus
  24.      * @return AbstractDeleteableEntity
  25.      */
  26.     public function setDeletestatus($deletestatus)
  27.     {
  28.         $this->deletestatus = (bool)$deletestatus 0;
  29.         return $this;
  30.     }
  31.     /**
  32.      * Get deletestatus property
  33.      *
  34.      * @return integer
  35.      */
  36.     public function getDeletestatus()
  37.     {
  38.         return $this->deletestatus;
  39.     }
  40.     /**
  41.      * set deleted status of the entity
  42.      *
  43.      * @param boolean $deleted
  44.      * @return AbstractDeleteableEntity
  45.      */
  46.     public function setDeleted($deleted)
  47.     {
  48.         $this->setUpdatedAt(time());
  49.         $this->setDeletestatus((bool)$deleted);
  50.         return $this;
  51.     }
  52.     /**
  53.      * is this entity deleted?
  54.      *
  55.      * @return boolean
  56.      */
  57.     public function isDeleted()
  58.     {
  59.         return (bool)$this->deletestatus;
  60.     }
  61.     /**
  62.      * may the entity be trashed (deleted set to true)?
  63.      *
  64.      * @return boolean
  65.      */
  66.     public function isTrashable()
  67.     {
  68.         return true;
  69.     }
  70.     /**
  71.      * may the entity be recoverd (is it in soft-deleted state?)
  72.      *
  73.      * @return boolean
  74.      */
  75.     public function isRecoverable()
  76.     {
  77.         return $this->isDeleted();
  78.     }
  79.     /**
  80.      * may the entity be deleted (fully purged from DB)?
  81.      *
  82.      * @return boolean
  83.      */
  84.     public function isDeleteable()
  85.     {
  86.         return true;
  87.     }
  88. }