CurrencyInterface.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Quote\Api\Data;
  7. /**
  8. * Interface CurrencyInterface
  9. * @api
  10. * @since 100.0.2
  11. */
  12. interface CurrencyInterface extends \Magento\Framework\Api\ExtensibleDataInterface
  13. {
  14. /**#@+
  15. * Constants defined for keys of array, makes typos less likely
  16. */
  17. const KEY_GLOBAL_CURRENCY_CODE = 'global_currency_code';
  18. const KEY_BASE_CURRENCY_CODE = 'base_currency_code';
  19. const KEY_STORE_CURRENCY_CODE = 'store_currency_code';
  20. const KEY_QUOTE_CURRENCY_CODE = 'quote_currency_code';
  21. const KEY_STORE_TO_BASE_RATE = 'store_to_base_rate';
  22. const KEY_STORE_TO_QUOTE_RATE = 'store_to_quote_rate';
  23. const KEY_BASE_TO_GLOBAL_RATE = 'base_to_global_rate';
  24. const KEY_BASE_TO_QUOTE_RATE = 'base_to_quote_rate';
  25. /**#@-*/
  26. /**
  27. * Get global currency code
  28. *
  29. * @return string|null
  30. */
  31. public function getGlobalCurrencyCode();
  32. /**
  33. * Set global currency code
  34. *
  35. * @param string $globalCurrencyCode
  36. * @return $this
  37. */
  38. public function setGlobalCurrencyCode($globalCurrencyCode);
  39. /**
  40. * Get base currency code
  41. *
  42. * @return string|null
  43. */
  44. public function getBaseCurrencyCode();
  45. /**
  46. * Set base currency code
  47. *
  48. * @param string $baseCurrencyCode
  49. * @return $this
  50. */
  51. public function setBaseCurrencyCode($baseCurrencyCode);
  52. /**
  53. * Get store currency code
  54. *
  55. * @return string|null
  56. */
  57. public function getStoreCurrencyCode();
  58. /**
  59. * Set store currency code
  60. *
  61. * @param string $storeCurrencyCode
  62. * @return $this
  63. */
  64. public function setStoreCurrencyCode($storeCurrencyCode);
  65. /**
  66. * Get quote currency code
  67. *
  68. * @return string|null
  69. */
  70. public function getQuoteCurrencyCode();
  71. /**
  72. * Set quote currency code
  73. *
  74. * @param string $quoteCurrencyCode
  75. * @return $this
  76. */
  77. public function setQuoteCurrencyCode($quoteCurrencyCode);
  78. /**
  79. * Get store currency to base currency rate
  80. *
  81. * @return float|null
  82. */
  83. public function getStoreToBaseRate();
  84. /**
  85. * Set store currency to base currency rate
  86. *
  87. * @param float $storeToBaseRate
  88. * @return $this
  89. */
  90. public function setStoreToBaseRate($storeToBaseRate);
  91. /**
  92. * Get store currency to quote currency rate
  93. *
  94. * @return float|null
  95. */
  96. public function getStoreToQuoteRate();
  97. /**
  98. * Set store currency to quote currency rate
  99. *
  100. * @param float $storeToQuoteRate
  101. * @return $this
  102. */
  103. public function setStoreToQuoteRate($storeToQuoteRate);
  104. /**
  105. * Get base currency to global currency rate
  106. *
  107. * @return float|null
  108. */
  109. public function getBaseToGlobalRate();
  110. /**
  111. * Set base currency to global currency rate
  112. *
  113. * @param float $baseToGlobalRate
  114. * @return $this
  115. */
  116. public function setBaseToGlobalRate($baseToGlobalRate);
  117. /**
  118. * Get base currency to quote currency rate
  119. *
  120. * @return float|null
  121. */
  122. public function getBaseToQuoteRate();
  123. /**
  124. * Set base currency to quote currency rate
  125. *
  126. * @param float $baseToQuoteRate
  127. * @return $this
  128. */
  129. public function setBaseToQuoteRate($baseToQuoteRate);
  130. /**
  131. * Retrieve existing extension attributes object or create a new one.
  132. *
  133. * @return \Magento\Quote\Api\Data\CurrencyExtensionInterface|null
  134. */
  135. public function getExtensionAttributes();
  136. /**
  137. * Set an extension attributes object.
  138. *
  139. * @param \Magento\Quote\Api\Data\CurrencyExtensionInterface $extensionAttributes
  140. * @return $this
  141. */
  142. public function setExtensionAttributes(\Magento\Quote\Api\Data\CurrencyExtensionInterface $extensionAttributes);
  143. }