DesignConfigDataInterface.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Theme\Api\Data;
  7. use Magento\Theme\Api\Data\DesignConfigDataExtensionInterface;
  8. /**
  9. * Interface DesignConfigDataInterface
  10. * @api
  11. * @since 100.1.0
  12. */
  13. interface DesignConfigDataInterface
  14. {
  15. /**#@+
  16. * Constants for keys of data array. Identical to the name of the getter in snake case
  17. */
  18. const PATH = 'path';
  19. const VALUE = 'value';
  20. const FIELD_CONFIG = 'field_config';
  21. /**#@-*/
  22. /**
  23. * @return string
  24. * @since 100.1.0
  25. */
  26. public function getPath();
  27. /**
  28. * @return string
  29. * @since 100.1.0
  30. */
  31. public function getValue();
  32. /**
  33. * @return array
  34. * @since 100.1.0
  35. */
  36. public function getFieldConfig();
  37. /**
  38. * @param string $path
  39. * @return $this
  40. * @since 100.1.0
  41. */
  42. public function setPath($path);
  43. /**
  44. * @param string $value
  45. * @return $this
  46. * @since 100.1.0
  47. */
  48. public function setValue($value);
  49. /**
  50. * @param array $config
  51. * @return $this
  52. * @since 100.1.0
  53. */
  54. public function setFieldConfig(array $config);
  55. /**
  56. * Retrieve existing extension attributes object or create a new one.
  57. *
  58. * @return \Magento\Theme\Api\Data\DesignConfigDataExtensionInterface|null
  59. * @since 100.1.0
  60. */
  61. public function getExtensionAttributes();
  62. /**
  63. * Set an extension attributes object.
  64. *
  65. * @param \Magento\Theme\Api\Data\DesignConfigDataExtensionInterface $extensionAttributes
  66. * @return $this
  67. * @since 100.1.0
  68. */
  69. public function setExtensionAttributes(DesignConfigDataExtensionInterface $extensionAttributes);
  70. }