src/CoreBundle/EventListener/DcGeneral/DefinitionBuilder/CommandBuilder.php
protected function build(IMetaModelDataDefinition $container)
    {
        if ($container->hasDefinition(Contao2BackendViewDefinitionInterface::NAME)) {
            $view = $container->getDefinition(Contao2BackendViewDefinitionInterface::NAME);
        } else {
            $view = new Contao2BackendViewDefinition();
            $container->setDefinition(Contao2BackendViewDefinitionInterface::NAME, $view);
        }

        if (!$view instanceof Contao2BackendViewDefinitionInterface) {
            throw new DcGeneralInvalidArgumentException(
                'Configured BackendViewDefinition does not implement Contao2BackendViewDefinitionInterface.'
            );
        }

        $this->container   = $container;
        $this->inputScreen = $inputScreen = $this->viewCombination->getScreen($container->getName());
        if (null === $inputScreen) {
            return;
        }
        $this->addEditMultipleCommand($view);
        $this->parseModelOperations($view);
        $this->container   = null;
        $this->inputScreen = null;

        if ($this->dispatcher->hasListeners(BuildMetaModelOperationsEvent::NAME)) {
            // @codingStandardsIgnoreStart
            @trigger_error(
                'Event "' . BuildMetaModelOperationsEvent::NAME . '" is deprecated and will get removed',
                E_USER_DEPRECATED
            );
            // @codingStandardsIgnoreEnd
            $event = new BuildMetaModelOperationsEvent(
                $this->factory->getMetaModel($container->getName()),
                $container,
                $inputScreen
            );
            $this->dispatcher->dispatch($event::NAME, $event);
        }
    }
protected function build(IMetaModelDataDefinition $container)
    {
        if ($container->hasDefinition(Contao2BackendViewDefinitionInterface::NAME)) {
            $view = $container->getDefinition(Contao2BackendViewDefinitionInterface::NAME);
        } else {
            $view = new Contao2BackendViewDefinition();
            $container->setDefinition(Contao2BackendViewDefinitionInterface::NAME, $view);
        }

        if (!$view instanceof Contao2BackendViewDefinitionInterface) {
            throw new DcGeneralInvalidArgumentException(
                'Configured BackendViewDefinition does not implement Contao2BackendViewDefinitionInterface.'
            );
        }

        $this->container   = $container;
        $this->inputScreen = $inputScreen = $this->viewCombination->getScreen($container->getName());
        if (null === $inputScreen) {
            return;
        }
        $this->addEditMultipleCommand($view);
        $this->parseModelOperations($view);
        $this->container   = null;
        $this->inputScreen = null;

        if ($this->dispatcher->hasListeners(BuildMetaModelOperationsEvent::NAME)) {
            // @codingStandardsIgnoreStart
            @trigger_error(
                'Event "' . BuildMetaModelOperationsEvent::NAME . '" is deprecated and will get removed',
                E_USER_DEPRECATED
            );
            // @codingStandardsIgnoreEnd
            $event = new BuildMetaModelOperationsEvent(
                $this->factory->getMetaModel($container->getName()),
                $container,
                $inputScreen
            );
            $this->dispatcher->dispatch($event::NAME, $event);
        }
    }
Parse and build the backend view definition for the old Contao2 backend view.

@param IMetaModelDataDefinition $container The data container.

@throws DcGeneralInvalidArgumentException When the contained view definition is of invalid type.

@return void