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(type: Types::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(type: Types::STRING, length: 8)]
  42. protected $action;
  43. /**
  44. * @var \DateTime|null
  45. *
  46. * @ORM\Column(name="logged_at", type="datetime")
  47. */
  48. #[ORM\Column(name: 'logged_at', type: Types::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', length: 64, nullable: true)]
  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', type: Types::STRING, length: 191)]
  65. protected $objectClass;
  66. /**
  67. * @var int|null
  68. *
  69. * @ORM\Column(type="integer")
  70. */
  71. #[ORM\Column(type: Types::INTEGER)]
  72. protected $version;
  73. /**
  74. * @var array<string, mixed>|null
  75. *
  76. * @ORM\Column(type="array", nullable=true)
  77. */
  78. #[ORM\Column(type: Types::ARRAY, nullable: true)]
  79. protected $data;
  80. /**
  81. * @var string|null
  82. *
  83. * @ORM\Column(length=191, nullable=true)
  84. */
  85. #[ORM\Column(length: 191, nullable: true)]
  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. }