X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdevel%2Fwebprofiler%2Fsrc%2FEntity%2FEntityManagerWrapper.php;fp=web%2Fmodules%2Fcontrib%2Fdevel%2Fwebprofiler%2Fsrc%2FEntity%2FEntityManagerWrapper.php;h=c6381a0d25a5b7f45408f9dfb54b20b31bc4dc2c;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/devel/webprofiler/src/Entity/EntityManagerWrapper.php b/web/modules/contrib/devel/webprofiler/src/Entity/EntityManagerWrapper.php new file mode 100644 index 000000000..c6381a0d2 --- /dev/null +++ b/web/modules/contrib/devel/webprofiler/src/Entity/EntityManagerWrapper.php @@ -0,0 +1,239 @@ +entityManager = $entityManager; + } + + /** + * {@inheritdoc} + */ + public function getStorage($entity_type) { + /** @var ConfigEntityStorageInterface $handler */ + $handler = $this->getHandler($entity_type, 'storage'); + $type = ($handler instanceof ConfigEntityStorageInterface) ? 'config' : 'content'; + + if (!isset($this->loaded[$type][$entity_type])) { + $handler = $this->getStorageDecorator($entity_type, $handler); + $this->loaded[$type][$entity_type] = $handler; + } + else { + $handler = $this->loaded[$type][$entity_type]; + } + + return $handler; + } + + /** + * {@inheritdoc} + */ + public function getViewBuilder($entity_type) { + /** @var EntityViewBuilderInterface $handler */ + $handler = $this->getHandler($entity_type, 'view_builder'); + + if ($handler instanceof EntityViewBuilderInterface) { + if (!isset($this->rendered[$entity_type])) { + $handler = new EntityViewBuilderDecorator($handler); + $this->rendered[$entity_type] = $handler; + } + else { + $handler = $this->rendered[$entity_type]; + } + } + + return $handler; + } + + /** + * @param $entity_type + * @param $handler + * + * @return \Drupal\webprofiler\Entity\EntityDecorator + */ + private function getStorageDecorator($entity_type, $handler) { + if ($handler instanceof ConfigEntityStorageInterface) { + switch ($entity_type) { + case 'taxonomy_vocabulary': + return new VocabularyStorageDecorator($handler); + break; + case 'user_role': + return new RoleStorageDecorator($handler); + break; + case 'shortcut_set': + return new ShortcutSetStorageDecorator($handler); + break; + default: + return new ConfigEntityStorageDecorator($handler); + break; + } + } + return $handler; + } + + /** + * @param $type + * @param $entity_type + * + * @return array + */ + public function getLoaded($type, $entity_type) { + return isset($this->loaded[$type][$entity_type]) ? $this->loaded[$type][$entity_type] : NULL; + } + + /** + * @param $entity_type + * + * @return array + */ + public function getRendered( $entity_type) { + return isset($this->rendered[$entity_type]) ? $this->rendered[$entity_type] : NULL; + } + + /** + * {@inheritdoc} + */ + public function useCaches($use_caches = FALSE) { + $this->entityManager->useCaches($use_caches); + } + + /** + * {@inheritdoc} + */ + public function hasDefinition($plugin_id) { + return $this->entityManager->hasDefinition($plugin_id); + } + + /** + * {@inheritdoc} + */ + public function getAccessControlHandler($entity_type) { + return $this->entityManager->getAccessControlHandler($entity_type); + } + + /** + * {@inheritdoc} + */ + public function clearCachedDefinitions() { + $this->entityManager->clearCachedDefinitions(); + } + + /** + * {@inheritdoc} + */ + public function getListBuilder($entity_type) { + return $this->entityManager->getListBuilder($entity_type); + } + + /** + * {@inheritdoc} + */ + public function getFormObject($entity_type, $operation) { + return $this->entityManager->getFormObject($entity_type, $operation); + } + + /** + * {@inheritdoc} + */ + public function getRouteProviders($entity_type) { + return $this->entityManager->getRouteProviders($entity_type); + } + + /** + * {@inheritdoc} + */ + public function hasHandler($entity_type, $handler_type) { + return $this->entityManager->hasHandler($entity_type, $handler_type); + } + + /** + * {@inheritdoc} + */ + public function getHandler($entity_type, $handler_type) { + return $this->entityManager->getHandler($entity_type, $handler_type); + } + + /** + * {@inheritdoc} + */ + public function createHandlerInstance( + $class, + EntityTypeInterface $definition = NULL + ) { + return $this->entityManager->createHandlerInstance($class, $definition); + } + + /** + * {@inheritdoc} + */ + public function getDefinition($entity_type_id, $exception_on_invalid = TRUE) { + return $this->entityManager->getDefinition( + $entity_type_id, + $exception_on_invalid + ); + } + + /** + * {@inheritdoc} + */ + public function getDefinitions() { + return $this->entityManager->getDefinitions(); + } + + /** + * {@inheritdoc} + */ + public function createInstance($plugin_id, array $configuration = []) { + return $this->entityManager->createInstance($plugin_id, $configuration); + } + + /** + * {@inheritdoc} + */ + public function getInstance(array $options) { + return $this->entityManager->getInstance($options); + } + + /** + * {@inheritdoc} + */ + public function setContainer(ContainerInterface $container = NULL) { + $this->entityManager->setContainer($container); + } + +}