JoinDataInterface.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Api\ExtensionAttribute;
  7. /**
  8. * Interface of data holder for extension attribute joins.
  9. *
  10. * @api
  11. * @since 100.0.2
  12. */
  13. interface JoinDataInterface
  14. {
  15. const SELECT_FIELD_EXTERNAL_ALIAS = 'external_alias';
  16. const SELECT_FIELD_INTERNAL_ALIAS = 'internal_alias';
  17. const SELECT_FIELD_WITH_DB_PREFIX = 'with_db_prefix';
  18. const SELECT_FIELD_SETTER = 'setter';
  19. /**
  20. * Get attribute code.
  21. *
  22. * @return string
  23. */
  24. public function getAttributeCode();
  25. /**
  26. * Set attribute code.
  27. *
  28. * @param string $attributeCode
  29. * @return $this
  30. */
  31. public function setAttributeCode($attributeCode);
  32. /**
  33. * Get reference table name.
  34. *
  35. * @return string
  36. */
  37. public function getReferenceTable();
  38. /**
  39. * Set reference table name.
  40. *
  41. * @param string $referenceTable
  42. * @return $this
  43. */
  44. public function setReferenceTable($referenceTable);
  45. /**
  46. * Get reference table alias.
  47. *
  48. * @return string
  49. */
  50. public function getReferenceTableAlias();
  51. /**
  52. * Set reference table alias.
  53. *
  54. * @param string $referenceTableAlias
  55. * @return $this
  56. */
  57. public function setReferenceTableAlias($referenceTableAlias);
  58. /**
  59. * Get reference field.
  60. *
  61. * @return string
  62. */
  63. public function getReferenceField();
  64. /**
  65. * Set reference field.
  66. *
  67. * @param string $referenceField
  68. * @return $this
  69. */
  70. public function setReferenceField($referenceField);
  71. /**
  72. * Get join field.
  73. *
  74. * @return string
  75. */
  76. public function getJoinField();
  77. /**
  78. * Set join field.
  79. *
  80. * @param string $joinField
  81. * @return $this
  82. */
  83. public function setJoinField($joinField);
  84. /**
  85. * Get select fields.
  86. *
  87. * @return array
  88. */
  89. public function getSelectFields();
  90. /**
  91. * Set select field.
  92. *
  93. * @param array $selectFields
  94. * @return $this
  95. */
  96. public function setSelectFields(array $selectFields);
  97. }