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