3 namespace Drupal\webprofiler\Entity\Decorators\Config;
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;
16 * Class ConfigEntityStorageDecorator
18 class ConfigEntityStorageDecorator extends EntityDecorator implements ConfigEntityStorageInterface, ImportableEntityStorageInterface, EntityHandlerInterface {
21 * @param ConfigEntityStorageInterface $controller
23 public function __construct(ConfigEntityStorageInterface $controller) {
24 parent::__construct($controller);
32 public function resetCache(array $ids = NULL) {
33 $this->getOriginalObject()->resetCache($ids);
39 public function loadMultiple(array $ids = NULL) {
40 $entities = $this->getOriginalObject()->loadMultiple($ids);
42 $this->entities = array_merge($this->entities, $entities);
50 public function load($id) {
51 $entity = $this->getOriginalObject()->load($id);
53 $this->entities[$id] = $entity;
61 public function loadUnchanged($id) {
62 return $this->getOriginalObject()->loadUnchanged($id);
68 public function loadRevision($revision_id) {
69 return $this->getOriginalObject()->loadRevision($revision_id);
75 public function deleteRevision($revision_id) {
76 $this->getOriginalObject()->deleteRevision($revision_id);
82 public function loadByProperties(array $values = []) {
83 $entities = $this->getOriginalObject()->loadByProperties($values);
85 $this->entities = array_merge($this->entities, $entities);
93 public function create(array $values = []) {
94 return $this->getOriginalObject()->create($values);
100 public function delete(array $entities) {
101 $this->getOriginalObject()->delete($entities);
107 public function save(EntityInterface $entity) {
108 return $this->getOriginalObject()->save($entity);
114 public function hasData() {
115 return $this->getOriginalObject()->hasData();
121 public function getQuery($conjunction = 'AND') {
122 return $this->getOriginalObject()->getQuery($conjunction);
128 public function getEntityTypeId() {
129 return $this->getOriginalObject()->getEntityTypeId();
135 public function getEntityType() {
136 return $this->getOriginalObject()->getEntityType();
142 public static function getIDFromConfigName($config_name, $config_prefix) {
143 return substr($config_name, strlen($config_prefix . '.'));
149 public function createFromStorageRecord(array $values) {
150 return $this->getOriginalObject()->createFromStorageRecord($values);
156 public function updateFromStorageRecord(ConfigEntityInterface $entity, array $values) {
157 return $this->getOriginalObject()
158 ->updateFromStorageRecord($entity, $values);
164 public function getAggregateQuery($conjunction = 'AND') {
165 return $this->getOriginalObject()->getAggregateQuery($conjunction);
171 public function loadOverrideFree($id) {
172 return $this->getOriginalObject()->loadOverrideFree($id);
178 public function loadMultipleOverrideFree(array $ids = NULL) {
179 return $this->getOriginalObject()->loadMultipleOverrideFree($ids);
185 public function importCreate($name, Config $new_config, Config $old_config) {
186 $this->getOriginalObject()->importCreate($name, $new_config, $old_config);
192 public function importUpdate($name, Config $new_config, Config $old_config) {
193 $this->getOriginalObject()->importUpdate($name, $new_config, $old_config);
199 public function importDelete($name, Config $new_config, Config $old_config) {
200 $this->getOriginalObject()->importDelete($name, $new_config, $old_config);
206 public function importRename($old_name, Config $new_config, Config $old_config) {
207 $this->getOriginalObject()->importRename($old_name, $new_config, $old_config);
213 public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
216 $container->get('config.factory'),
217 $container->get('uuid'),
218 $container->get('language_manager')