b9a06f55282193ec3e63f2a53afff355581a6857
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Entity / Decorators / Config / ConfigEntityStorageDecorator.php
1 <?php
2
3 namespace Drupal\webprofiler\Entity\Decorators\Config;
4
5 use Drupal\Core\Config\Config;
6 use Drupal\Core\Config\Entity\ConfigEntityInterface;
7 use Drupal\Core\Config\Entity\ConfigEntityStorageInterface;
8 use Drupal\Core\Config\Entity\ImportableEntityStorageInterface;
9 use Drupal\Core\Entity\EntityHandlerInterface;
10 use Drupal\Core\Entity\EntityInterface;
11 use Drupal\Core\Entity\EntityTypeInterface;
12 use Drupal\webprofiler\Entity\EntityDecorator;
13 use Symfony\Component\DependencyInjection\ContainerInterface;
14
15 /**
16  * Class ConfigEntityStorageDecorator
17  */
18 class ConfigEntityStorageDecorator extends EntityDecorator implements ConfigEntityStorageInterface, ImportableEntityStorageInterface, EntityHandlerInterface {
19
20   /**
21    * @param ConfigEntityStorageInterface $controller
22    */
23   public function __construct(ConfigEntityStorageInterface $controller) {
24     parent::__construct($controller);
25
26     $this->entities = [];
27   }
28
29   /**
30    * {@inheritdoc}
31    */
32   public function resetCache(array $ids = NULL) {
33     $this->getOriginalObject()->resetCache($ids);
34   }
35
36   /**
37    * {@inheritdoc}
38    */
39   public function loadMultiple(array $ids = NULL) {
40     $entities = $this->getOriginalObject()->loadMultiple($ids);
41
42     $this->entities = array_merge($this->entities, $entities);
43
44     return $entities;
45   }
46
47   /**
48    * {@inheritdoc}
49    */
50   public function load($id) {
51     $entity = $this->getOriginalObject()->load($id);
52
53     $this->entities[$id] = $entity;
54
55     return $entity;
56   }
57
58   /**
59    * {@inheritdoc}
60    */
61   public function loadUnchanged($id) {
62     return $this->getOriginalObject()->loadUnchanged($id);
63   }
64
65   /**
66    * {@inheritdoc}
67    */
68   public function loadRevision($revision_id) {
69     return $this->getOriginalObject()->loadRevision($revision_id);
70   }
71
72   /**
73    * {@inheritdoc}
74    */
75   public function deleteRevision($revision_id) {
76     $this->getOriginalObject()->deleteRevision($revision_id);
77   }
78
79   /**
80    * {@inheritdoc}
81    */
82   public function loadByProperties(array $values = []) {
83     $entities = $this->getOriginalObject()->loadByProperties($values);
84
85     $this->entities = array_merge($this->entities, $entities);
86
87     return $entities;
88   }
89
90   /**
91    * {@inheritdoc}
92    */
93   public function create(array $values = []) {
94     return $this->getOriginalObject()->create($values);
95   }
96
97   /**
98    * {@inheritdoc}
99    */
100   public function delete(array $entities) {
101     $this->getOriginalObject()->delete($entities);
102   }
103
104   /**
105    * {@inheritdoc}
106    */
107   public function save(EntityInterface $entity) {
108     return $this->getOriginalObject()->save($entity);
109   }
110
111   /**
112    * {@inheritdoc}
113    */
114   public function hasData() {
115     return $this->getOriginalObject()->hasData();
116   }
117
118   /**
119    * {@inheritdoc}
120    */
121   public function getQuery($conjunction = 'AND') {
122     return $this->getOriginalObject()->getQuery($conjunction);
123   }
124
125   /**
126    * {@inheritdoc}
127    */
128   public function getEntityTypeId() {
129     return $this->getOriginalObject()->getEntityTypeId();
130   }
131
132   /**
133    * {@inheritdoc}
134    */
135   public function getEntityType() {
136     return $this->getOriginalObject()->getEntityType();
137   }
138
139   /**
140    * {@inheritdoc}
141    */
142   public static function getIDFromConfigName($config_name, $config_prefix) {
143     return substr($config_name, strlen($config_prefix . '.'));
144   }
145
146   /**
147    * {@inheritdoc}
148    */
149   public function createFromStorageRecord(array $values) {
150     return $this->getOriginalObject()->createFromStorageRecord($values);
151   }
152
153   /**
154    * {@inheritdoc}
155    */
156   public function updateFromStorageRecord(ConfigEntityInterface $entity, array $values) {
157     return $this->getOriginalObject()
158       ->updateFromStorageRecord($entity, $values);
159   }
160
161   /**
162    * {@inheritdoc}
163    */
164   public function getAggregateQuery($conjunction = 'AND') {
165     return $this->getOriginalObject()->getAggregateQuery($conjunction);
166   }
167
168   /**
169    * {@inheritdoc}
170    */
171   public function loadOverrideFree($id) {
172     return $this->getOriginalObject()->loadOverrideFree($id);
173   }
174
175   /**
176    * {@inheritdoc}
177    */
178   public function loadMultipleOverrideFree(array $ids = NULL) {
179     return $this->getOriginalObject()->loadMultipleOverrideFree($ids);
180   }
181
182   /**
183    * {@inheritdoc}
184    */
185   public function importCreate($name, Config $new_config, Config $old_config) {
186     $this->getOriginalObject()->importCreate($name, $new_config, $old_config);
187   }
188
189   /**
190    * {@inheritdoc}
191    */
192   public function importUpdate($name, Config $new_config, Config $old_config) {
193     $this->getOriginalObject()->importUpdate($name, $new_config, $old_config);
194   }
195
196   /**
197    * {@inheritdoc}
198    */
199   public function importDelete($name, Config $new_config, Config $old_config) {
200     $this->getOriginalObject()->importDelete($name, $new_config, $old_config);
201   }
202
203   /**
204    * {@inheritdoc}
205    */
206   public function importRename($old_name, Config $new_config, Config $old_config) {
207     $this->getOriginalObject()->importRename($old_name, $new_config, $old_config);
208   }
209
210   /**
211    * {@inheritdoc}
212    */
213   public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
214     return new static(
215       $entity_type,
216       $container->get('config.factory'),
217       $container->get('uuid'),
218       $container->get('language_manager')
219     );
220   }
221 }