TypedDataTrait.php 999 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Drupal\Core\TypedData;
  3. /**
  4. * Wrapper methods for classes that needs typed data manager object.
  5. */
  6. trait TypedDataTrait {
  7. /**
  8. * The typed data manager used for creating the data types.
  9. *
  10. * @var \Drupal\Core\TypedData\TypedDataManagerInterface
  11. */
  12. protected $typedDataManager;
  13. /**
  14. * Sets the typed data manager.
  15. *
  16. * @param \Drupal\Core\TypedData\TypedDataManagerInterface $typed_data_manager
  17. * The typed data manager.
  18. *
  19. * @return $this
  20. */
  21. public function setTypedDataManager(TypedDataManagerInterface $typed_data_manager) {
  22. $this->typedDataManager = $typed_data_manager;
  23. return $this;
  24. }
  25. /**
  26. * Gets the typed data manager.
  27. *
  28. * @return \Drupal\Core\TypedData\TypedDataManagerInterface
  29. * The typed data manager.
  30. */
  31. public function getTypedDataManager() {
  32. if (empty($this->typedDataManager)) {
  33. $this->typedDataManager = \Drupal::typedDataManager();
  34. }
  35. return $this->typedDataManager;
  36. }
  37. }