DimensionMode.php 973 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\Indexer\Model;
  8. /**
  9. * DTO to work with dimension mode
  10. */
  11. class DimensionMode
  12. {
  13. /**
  14. * @var array
  15. */
  16. private $name;
  17. /**
  18. * @var array
  19. */
  20. private $dimensions;
  21. /**
  22. * @param string $name
  23. * @param array $dimensions
  24. */
  25. public function __construct(string $name, array $dimensions)
  26. {
  27. $this->dimensions = (function (string ...$dimensions) {
  28. return $dimensions;
  29. })(...$dimensions);
  30. $this->name = $name;
  31. }
  32. /**
  33. * Returns dimension name
  34. *
  35. * @return string
  36. */
  37. public function getName(): string
  38. {
  39. return $this->name;
  40. }
  41. /**
  42. * Returns dimension modes
  43. *
  44. * @return string[]
  45. */
  46. public function getDimensions(): array
  47. {
  48. return $this->dimensions;
  49. }
  50. }