vendor/gedmo/doctrine-extensions/src/Loggable/Entity/MappedSuperclass/AbstractLogEntry.php line 24

  1. <?php
  2. /*
  3.  * This file is part of the Doctrine Behavioral Extensions package.
  4.  * (c) Gediminas Morkevicius <gediminas.morkevicius@gmail.com> http://www.gediminasm.org
  5.  * For the full copyright and license information, please view the LICENSE
  6.  * file that was distributed with this source code.
  7.  */
  8. namespace Gedmo\Loggable\Entity\MappedSuperclass;
  9. use Doctrine\DBAL\Types\Types;
  10. use Doctrine\ORM\Mapping as ORM;
  11. use Gedmo\Loggable\LogEntryInterface;
  12. /**
  13.  * @phpstan-template T of object
  14.  *
  15.  * @phpstan-implements LogEntryInterface<T>
  16.  *
  17.  * @ORM\MappedSuperclass
  18.  */
  19. #[ORM\MappedSuperclass]
  20. abstract class AbstractLogEntry implements LogEntryInterface
  21. {
  22.     /**
  23.      * @var int|null
  24.      *
  25.      * @ORM\Column(type="integer")
  26.      * @ORM\Id
  27.      * @ORM\GeneratedValue
  28.      */
  29.     #[ORM\Column(typeTypes::INTEGER)]
  30.     #[ORM\Id]
  31.     #[ORM\GeneratedValue]
  32.     protected $id;
  33.     /**
  34.      * @var string|null
  35.      *
  36.      * @phpstan-var self::ACTION_CREATE|self::ACTION_UPDATE|self::ACTION_REMOVE|null
  37.      *
  38.      * @ORM\Column(type="string", length=8)
  39.      */
  40.     #[ORM\Column(typeTypes::STRINGlength8)]
  41.     protected $action;
  42.     /**
  43.      * @var \DateTime|null
  44.      *
  45.      * @ORM\Column(name="logged_at", type="datetime")
  46.      */
  47.     #[ORM\Column(name'logged_at'typeTypes::DATETIME_MUTABLE)]
  48.     protected $loggedAt;
  49.     /**
  50.      * @var string|null
  51.      *
  52.      * @ORM\Column(name="object_id", length=64, nullable=true)
  53.      */
  54.     #[ORM\Column(name'object_id'length64nullabletrue)]
  55.     protected $objectId;
  56.     /**
  57.      * @var string|null
  58.      *
  59.      * @phpstan-var class-string<T>|null
  60.      *
  61.      * @ORM\Column(name="object_class", type="string", length=191)
  62.      */
  63.     #[ORM\Column(name'object_class'typeTypes::STRINGlength191)]
  64.     protected $objectClass;
  65.     /**
  66.      * @var int|null
  67.      *
  68.      * @ORM\Column(type="integer")
  69.      */
  70.     #[ORM\Column(typeTypes::INTEGER)]
  71.     protected $version;
  72.     /**
  73.      * @var array|null
  74.      *
  75.      * @ORM\Column(type="array", nullable=true)
  76.      */
  77.     #[ORM\Column(typeTypes::ARRAY, nullabletrue)]
  78.     protected $data;
  79.     /**
  80.      * @var string|null
  81.      *
  82.      * @ORM\Column(length=191, nullable=true)
  83.      */
  84.     #[ORM\Column(length191nullabletrue)]
  85.     protected $username;
  86.     /**
  87.      * Get id
  88.      *
  89.      * @return int|null
  90.      */
  91.     public function getId()
  92.     {
  93.         return $this->id;
  94.     }
  95.     /**
  96.      * Get action
  97.      *
  98.      * @return string|null
  99.      */
  100.     public function getAction()
  101.     {
  102.         return $this->action;
  103.     }
  104.     /**
  105.      * Set action
  106.      *
  107.      * @param string $action
  108.      *
  109.      * @return void
  110.      */
  111.     public function setAction($action)
  112.     {
  113.         $this->action $action;
  114.     }
  115.     /**
  116.      * Get object class
  117.      *
  118.      * @return string|null
  119.      */
  120.     public function getObjectClass()
  121.     {
  122.         return $this->objectClass;
  123.     }
  124.     /**
  125.      * Set object class
  126.      *
  127.      * @param string $objectClass
  128.      *
  129.      * @return void
  130.      */
  131.     public function setObjectClass($objectClass)
  132.     {
  133.         $this->objectClass $objectClass;
  134.     }
  135.     /**
  136.      * Get object id
  137.      *
  138.      * @return string|null
  139.      */
  140.     public function getObjectId()
  141.     {
  142.         return $this->objectId;
  143.     }
  144.     /**
  145.      * Set object id
  146.      *
  147.      * @param string $objectId
  148.      *
  149.      * @return void
  150.      */
  151.     public function setObjectId($objectId)
  152.     {
  153.         $this->objectId $objectId;
  154.     }
  155.     /**
  156.      * Get username
  157.      *
  158.      * @return string|null
  159.      */
  160.     public function getUsername()
  161.     {
  162.         return $this->username;
  163.     }
  164.     /**
  165.      * Set username
  166.      *
  167.      * @param string $username
  168.      *
  169.      * @return void
  170.      */
  171.     public function setUsername($username)
  172.     {
  173.         $this->username $username;
  174.     }
  175.     /**
  176.      * Get loggedAt
  177.      *
  178.      * @return \DateTime|null
  179.      */
  180.     public function getLoggedAt()
  181.     {
  182.         return $this->loggedAt;
  183.     }
  184.     /**
  185.      * Set loggedAt to "now"
  186.      *
  187.      * @return void
  188.      */
  189.     public function setLoggedAt()
  190.     {
  191.         $this->loggedAt = new \DateTime();
  192.     }
  193.     /**
  194.      * Get data
  195.      *
  196.      * @return array|null
  197.      */
  198.     public function getData()
  199.     {
  200.         return $this->data;
  201.     }
  202.     /**
  203.      * Set data
  204.      *
  205.      * @param array $data
  206.      *
  207.      * @return void
  208.      */
  209.     public function setData($data)
  210.     {
  211.         $this->data $data;
  212.     }
  213.     /**
  214.      * Set current version
  215.      *
  216.      * @param int $version
  217.      *
  218.      * @return void
  219.      */
  220.     public function setVersion($version)
  221.     {
  222.         $this->version $version;
  223.     }
  224.     /**
  225.      * Get current version
  226.      *
  227.      * @return int|null
  228.      */
  229.     public function getVersion()
  230.     {
  231.         return $this->version;
  232.     }
  233. }