3 namespace Drupal\webprofiler\Entity;
5 use Drupal\Core\Entity\EntityHandlerInterface;
6 use Drupal\Core\Entity\EntityInterface;
7 use Drupal\Core\Entity\EntityTypeInterface;
8 use Drupal\Core\Entity\EntityViewBuilderInterface;
9 use Drupal\Core\Field\FieldItemInterface;
10 use Drupal\Core\Field\FieldItemListInterface;
11 use Symfony\Component\DependencyInjection\ContainerInterface;
14 * Class EntityViewBuilderDecorator
16 class EntityViewBuilderDecorator extends EntityDecorator implements EntityHandlerInterface, EntityViewBuilderInterface {
19 * @param EntityViewBuilderInterface $controller
21 public function __construct(EntityViewBuilderInterface $controller) {
22 parent::__construct($controller);
30 public function buildComponents(array &$build, array $entities, array $displays, $view_mode, $langcode = NULL) {
31 $this->getOriginalObject()
32 ->buildComponents($build, $entities, $displays, $view_mode, $langcode);
38 public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) {
39 $this->entities[] = $entity;
41 return $this->getOriginalObject()->view($entity, $view_mode, $langcode);
47 public function viewMultiple(array $entities = [], $view_mode = 'full', $langcode = NULL) {
48 $this->entities = array_merge($this->entities, $entities);
50 return $this->getOriginalObject()
51 ->viewMultiple($entities, $view_mode, $langcode);
57 public function resetCache(array $entities = NULL) {
58 $this->getOriginalObject()->resetCache($entities);
64 public function viewField(FieldItemListInterface $items, $display_options = []) {
65 return $this->getOriginalObject()->viewField($items, $display_options);
71 public function viewFieldItem(FieldItemInterface $item, $display_options = []) {
72 return $this->getOriginalObject()->viewFieldItem($item, $display_options);
78 public function getCacheTags() {
79 return $this->getOriginalObject()->getCacheTag();
85 public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
88 $container->get('entity.manager'),
89 $container->get('language_manager')