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

Open in your IDE?
  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. use Gedmo\Loggable\Loggable;
  13. /**
  14.  * @phpstan-template T of Loggable|object
  15.  *
  16.  * @phpstan-implements LogEntryInterface<T>
  17.  *
  18.  * @ORM\MappedSuperclass
  19.  */
  20. #[ORM\MappedSuperclass]
  21. abstract class AbstractLogEntry implements LogEntryInterface
  22. {
  23.     /**
  24.      * @var int|null
  25.      *
  26.      * @ORM\Column(type="integer")
  27.      * @ORM\Id
  28.      * @ORM\GeneratedValue
  29.      */
  30.     #[ORM\Column(typeTypes::INTEGER)]
  31.     #[ORM\Id]
  32.     #[ORM\GeneratedValue]
  33.     protected $id;
  34.     /**
  35.      * @var string|null
  36.      *
  37.      * @phpstan-var self::ACTION_CREATE|self::ACTION_UPDATE|self::ACTION_REMOVE|null
  38.      *
  39.      * @ORM\Column(type="string", length=8)
  40.      */
  41.     #[ORM\Column(typeTypes::STRINGlength8)]
  42.     protected $action;
  43.     /**
  44.      * @var \DateTime|null
  45.      *
  46.      * @ORM\Column(name="logged_at", type="datetime")
  47.      */
  48.     #[ORM\Column(name'logged_at'typeTypes::DATETIME_MUTABLE)]
  49.     protected $loggedAt;
  50.     /**
  51.      * @var string|null
  52.      *
  53.      * @ORM\Column(name="object_id", length=64, nullable=true)
  54.      */
  55.     #[ORM\Column(name'object_id'length64nullabletrue)]
  56.     protected $objectId;
  57.     /**
  58.      * @var string|null
  59.      *
  60.      * @phpstan-var class-string<T>|null
  61.      *
  62.      * @ORM\Column(name="object_class", type="string", length=191)
  63.      */
  64.     #[ORM\Column(name'object_class'typeTypes::STRINGlength191)]
  65.     protected $objectClass;
  66.     /**
  67.      * @var int|null
  68.      *
  69.      * @ORM\Column(type="integer")
  70.      */
  71.     #[ORM\Column(typeTypes::INTEGER)]
  72.     protected $version;
  73.     /**
  74.      * @var array<string, mixed>|null
  75.      *
  76.      * @ORM\Column(type="array", nullable=true)
  77.      */
  78.     #[ORM\Column(typeTypes::ARRAY, nullabletrue)]
  79.     protected $data;
  80.     /**
  81.      * @var string|null
  82.      *
  83.      * @ORM\Column(length=191, nullable=true)
  84.      */
  85.     #[ORM\Column(length191nullabletrue)]
  86.     protected $username;
  87.     /**
  88.      * Get id
  89.      *
  90.      * @return int|null
  91.      */
  92.     public function getId()
  93.     {
  94.         return $this->id;
  95.     }
  96.     /**
  97.      * Get action
  98.      */
  99.     public function getAction()
  100.     {
  101.         return $this->action;
  102.     }
  103.     /**
  104.      * Set action
  105.      */
  106.     public function setAction($action)
  107.     {
  108.         $this->action $action;
  109.     }
  110.     /**
  111.      * Get object class
  112.      */
  113.     public function getObjectClass()
  114.     {
  115.         return $this->objectClass;
  116.     }
  117.     /**
  118.      * Set object class
  119.      */
  120.     public function setObjectClass($objectClass)
  121.     {
  122.         $this->objectClass $objectClass;
  123.     }
  124.     /**
  125.      * Get object id
  126.      */
  127.     public function getObjectId()
  128.     {
  129.         return $this->objectId;
  130.     }
  131.     /**
  132.      * Set object id
  133.      *
  134.      * @param string $objectId
  135.      */
  136.     public function setObjectId($objectId)
  137.     {
  138.         $this->objectId $objectId;
  139.     }
  140.     /**
  141.      * Get username
  142.      */
  143.     public function getUsername()
  144.     {
  145.         return $this->username;
  146.     }
  147.     /**
  148.      * Set username
  149.      *
  150.      * @param string $username
  151.      */
  152.     public function setUsername($username)
  153.     {
  154.         $this->username $username;
  155.     }
  156.     /**
  157.      * Get loggedAt
  158.      */
  159.     public function getLoggedAt()
  160.     {
  161.         return $this->loggedAt;
  162.     }
  163.     /**
  164.      * Set loggedAt to "now"
  165.      */
  166.     public function setLoggedAt()
  167.     {
  168.         $this->loggedAt = new \DateTime();
  169.     }
  170.     /**
  171.      * Get data
  172.      */
  173.     public function getData()
  174.     {
  175.         return $this->data;
  176.     }
  177.     /**
  178.      * Set data
  179.      */
  180.     public function setData($data)
  181.     {
  182.         $this->data $data;
  183.     }
  184.     /**
  185.      * Set current version
  186.      *
  187.      * @param int $version
  188.      */
  189.     public function setVersion($version)
  190.     {
  191.         $this->version $version;
  192.     }
  193.     /**
  194.      * Get current version
  195.      */
  196.     public function getVersion()
  197.     {
  198.         return $this->version;
  199.     }
  200. }