RuleInterface.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CatalogRule\Api\Data;
  7. /**
  8. * @api
  9. * @since 100.1.0
  10. */
  11. interface RuleInterface extends \Magento\Framework\Api\CustomAttributesDataInterface
  12. {
  13. /**#@+
  14. * Constants defined for keys of data array
  15. */
  16. const RULE_ID = 'rule_id';
  17. const NAME = 'name';
  18. const DESCRIPTION = 'description';
  19. const IS_ACTIVE = 'is_active';
  20. const STOP_RULES_PROCESSING = 'stop_rules_processing';
  21. const SORT_ORDER = 'sort_order';
  22. const SIMPLE_ACTION = 'simple_action';
  23. const DISCOUNT_AMOUNT = 'discount_amount';
  24. /**#@-*/
  25. /**
  26. * Returns rule id field
  27. *
  28. * @return int|null
  29. * @since 100.1.0
  30. */
  31. public function getRuleId();
  32. /**
  33. * @param int $ruleId
  34. * @return $this
  35. * @since 100.1.0
  36. */
  37. public function setRuleId($ruleId);
  38. /**
  39. * Returns rule name
  40. *
  41. * @return string
  42. * @since 100.1.0
  43. */
  44. public function getName();
  45. /**
  46. * @param string $name
  47. * @return $this
  48. * @since 100.1.0
  49. */
  50. public function setName($name);
  51. /**
  52. * Returns rule description
  53. *
  54. * @return string|null
  55. * @since 100.1.0
  56. */
  57. public function getDescription();
  58. /**
  59. * @param string $description
  60. * @return $this
  61. * @since 100.1.0
  62. */
  63. public function setDescription($description);
  64. /**
  65. * Returns rule activity flag
  66. *
  67. * @return int
  68. * @since 100.1.0
  69. */
  70. public function getIsActive();
  71. /**
  72. * @param int $isActive
  73. * @return $this
  74. * @since 100.1.0
  75. */
  76. public function setIsActive($isActive);
  77. /**
  78. * Returns rule condition
  79. *
  80. * @return \Magento\CatalogRule\Api\Data\ConditionInterface|null
  81. * @since 100.1.0
  82. */
  83. public function getRuleCondition();
  84. /**
  85. * @param \Magento\CatalogRule\Api\Data\ConditionInterface $condition
  86. * @return $this
  87. * @since 100.1.0
  88. */
  89. public function setRuleCondition($condition);
  90. /**
  91. * Returns stop rule processing flag
  92. *
  93. * @return int|null
  94. * @since 100.1.0
  95. */
  96. public function getStopRulesProcessing();
  97. /**
  98. * @param int $isStopProcessing
  99. * @return $this
  100. * @since 100.1.0
  101. */
  102. public function setStopRulesProcessing($isStopProcessing);
  103. /**
  104. * Returns rule sort order
  105. *
  106. * @return int|null
  107. * @since 100.1.0
  108. */
  109. public function getSortOrder();
  110. /**
  111. * @param int $sortOrder
  112. * @return $this
  113. * @since 100.1.0
  114. */
  115. public function setSortOrder($sortOrder);
  116. /**
  117. * Returns rule simple action
  118. *
  119. * @return string
  120. * @since 100.1.0
  121. */
  122. public function getSimpleAction();
  123. /**
  124. * @param string $action
  125. * @return $this
  126. * @since 100.1.0
  127. */
  128. public function setSimpleAction($action);
  129. /**
  130. * Returns discount amount
  131. *
  132. * @return float
  133. * @since 100.1.0
  134. */
  135. public function getDiscountAmount();
  136. /**
  137. * @param float $amount
  138. * @return $this
  139. * @since 100.1.0
  140. */
  141. public function setDiscountAmount($amount);
  142. /**
  143. * Retrieve existing extension attributes object or create a new one.
  144. *
  145. * @return \Magento\CatalogRule\Api\Data\RuleExtensionInterface|null
  146. * @since 100.1.0
  147. */
  148. public function getExtensionAttributes();
  149. /**
  150. * Set an extension attributes object.
  151. *
  152. * @param \Magento\CatalogRule\Api\Data\RuleExtensionInterface $extensionAttributes
  153. * @return $this
  154. * @since 100.1.0
  155. */
  156. public function setExtensionAttributes(\Magento\CatalogRule\Api\Data\RuleExtensionInterface $extensionAttributes);
  157. }