State.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Indexer\Model\Indexer;
  7. use Magento\Framework\Indexer\StateInterface;
  8. class State extends \Magento\Framework\Model\AbstractModel implements StateInterface
  9. {
  10. /**
  11. * Prefix of model events names
  12. *
  13. * @var string
  14. */
  15. protected $_eventPrefix = 'indexer_state';
  16. /**
  17. * Parameter name in event
  18. *
  19. * @var string
  20. */
  21. protected $_eventObject = 'indexer_state';
  22. /**
  23. * @param \Magento\Framework\Model\Context $context
  24. * @param \Magento\Framework\Registry $registry
  25. * @param \Magento\Indexer\Model\ResourceModel\Indexer\State $resource
  26. * @param \Magento\Indexer\Model\ResourceModel\Indexer\State\Collection $resourceCollection
  27. * @param array $data
  28. */
  29. public function __construct(
  30. \Magento\Framework\Model\Context $context,
  31. \Magento\Framework\Registry $registry,
  32. \Magento\Indexer\Model\ResourceModel\Indexer\State $resource,
  33. \Magento\Indexer\Model\ResourceModel\Indexer\State\Collection $resourceCollection,
  34. array $data = []
  35. ) {
  36. if (!isset($data['status'])) {
  37. $data['status'] = self::STATUS_INVALID;
  38. }
  39. parent::__construct($context, $registry, $resource, $resourceCollection, $data);
  40. }
  41. /**
  42. * Return indexer id
  43. *
  44. * @return string
  45. */
  46. public function getIndexerId()
  47. {
  48. return parent::getIndexerId();
  49. }
  50. /**
  51. * Set indexer id
  52. *
  53. * @param string $value
  54. * @return $this
  55. */
  56. public function setIndexerId($value)
  57. {
  58. return parent::setIndexerId($value);
  59. }
  60. /**
  61. * Return status
  62. *
  63. * @return string
  64. */
  65. public function getStatus()
  66. {
  67. return parent::getStatus();
  68. }
  69. /**
  70. * Return updated
  71. *
  72. * @return string
  73. */
  74. public function getUpdated()
  75. {
  76. return parent::getUpdated();
  77. }
  78. /**
  79. * Set updated
  80. *
  81. * @param string $value
  82. * @return $this
  83. */
  84. public function setUpdated($value)
  85. {
  86. return parent::setUpdated($value);
  87. }
  88. /**
  89. * Fill object with state data by view ID
  90. *
  91. * @param string $indexerId
  92. * @return $this
  93. */
  94. public function loadByIndexer($indexerId)
  95. {
  96. $this->load($indexerId, 'indexer_id');
  97. if (!$this->getId()) {
  98. $this->setIndexerId($indexerId);
  99. }
  100. return $this;
  101. }
  102. /**
  103. * Status setter
  104. *
  105. * @param string $status
  106. * @return $this
  107. */
  108. public function setStatus($status)
  109. {
  110. return parent::setStatus($status);
  111. }
  112. /**
  113. * Processing object before save data
  114. *
  115. * @return $this
  116. */
  117. public function beforeSave()
  118. {
  119. $this->setUpdated(time());
  120. return parent::beforeSave();
  121. }
  122. }