@deprecated Use $app->make(\Concrete\Core\Page\Theme\ThemeRouteCollection::class)->setThemeByRoute() with the same arguments

{@inheritdoc}
@see \Concrete\Core\Page\Theme\ThemeRouteCollection::setThemeByRoute()
344301
public function setThemeByRoute($path, $theme = null, $wrapper = FILENAME_THEMES_VIEW)
    {
        $app = Application::getFacadeApplication();
        $app->make(ThemeRouteCollection::class)->setThemeByRoute($path, $theme, $wrapper);
    }
1040744
public function setTemplate($path)
    {
        $this->_prepared = false;
        $this->_functionName = null;
        $this->_codeFile = null;
        $this->_path = $path;
        $this->_source = null;
        $this->_context->_docType = null;
        $this->_context->_xmlDeclaration = null;
        return $this;
    }
175914
public function setThemeByPath($path, $theme = null, $wrapper = FILENAME_THEMES_VIEW)
    {
        $l = Router::get();
        $l->setThemeByRoute($path, $theme, $wrapper);
    }
846463
public function setPage($page = null)
    {
        // The following argument formats are supported:
        //
        // null = set current page
        // '.' = set current page
        // 'page' = sets webroot/page.html
        // './page' = set page relatively to current page
        // '..' = parent page
        // '../page' = page besides our own (foo/bar -> foo/page)
        // 'index' = properly points to the index page defined in APP
        // '/admin/' = will not be converted

        /** @type $this->app App_Web */

        $destination = '';

        if (is_null($page)) {
            $page = '.';
        }

        foreach (explode('/', $page) as $component) {
            if ($component == '') {
                continue;
            }
            if ($component == '.' && $destination == '') {
                if ($this->app->page == 'index') {
                    continue;
                }
                $destination = str_replace('_', '/', $this->app->page);
                continue;
            }

            if ($component == '..') {
                if (!$destination) {
                    $destination = str_replace('_', '/', $this->app->page);
                }
                $tmp = explode('/', $destination);
                array_pop($tmp);
                $destination = implode('/', $tmp);
                continue;
            }

            if ($component == 'index' && $destination == '') {
                $destination = $this->app->index_page;
                continue;
            }

            $destination = $destination ? $destination.'/'.$component : $component;
        }
        if ($destination === '') {
            $destination = @$this->app->index_page;
        }

        $this->page = $destination;

        // check if it's current page
        list($p, $ap) = str_replace('/', '_', array($this->page, $this->app->page));
        $this->_current = ($p == $ap); // page exactly match
        $this->_current_sub = ($p == substr($ap, 0, strlen($p)) && isset($ap[strlen($p)]) && $ap[strlen($p)] == '_'); // first part of page match followed by separator

        return $this;
    }
676963
public function setRoute($route)
        {
            if (null !== $route && (!is_string($route) || strlen($route) < 1)) {
                throw new Exception(
                    'Invalid argument: $route must be a non-empty string or null'
                );
            }

            $this->_route     = $route;
            $this->_hrefCache = null;

            return $this;
        }
166952
private function mergePageTemplates(Theme $theme)
    {
        if ($theme->getParentTheme()) {
            $parentTheme = $this->getTheme($theme->getParentTheme());

            foreach ($parentTheme->getPageTemplates() as $parentPageTemplate) {
                $theme->addPageTemplate($parentPageTemplate);
            }

            foreach ($parentTheme->getPageTemplateTitles() as $route => $title) {
                if (!$theme->getPageTemplateTitle($route)) {
                    $theme->addPageTemplateTitle($route, $title);
                }
            }
        }

        return $theme;
    }
285988
public function getRoutsFromTheme($themeName)
    {
        if(Theme::ifExists($themeName)) {
            $routeDir = base_path('themes/' . $themeName . '/routes');
            if (is_dir($routeDir)) {
                $routeFiles = File::files($routeDir);

                //                \Route::group([
                //                    'middleware' => 'frontend', // TODO add theme middleware
                //                    'namespace' => Theme::getNamespaceOf(Theme::getActiveTheme()),
                //                ], function () use ($routeFiles) {
                //                    foreach ($routeFiles as $file) {
                //                        require_once $file;
                //                    }
                //                });
            }
        }
        return $this;
    }
721943
protected function buildRouteCollection()
    {
        if (Cache::enabled() && $this->cacheConfig !== null) {
            return Cache::remember(static::ROUTE_COLLECTION_CACHE_KEY, function () {
                return $this->prepareRouteCollection();
            }, $this->cacheConfig);
        }

        return $this->prepareRouteCollection();
    }
153753
public function theme($theme = null)
    {
        deprecationWarning(
            'View::theme() is deprecated. ' .
            'Use getTheme()/setTheme() instead.'
        );

        if ($theme === null) {
            return $this->theme;
        }

        $this->theme = $theme;
    }
964931
private function setRoutes()
    {
        foreach($this->myModules as $module) {
            $scModule = snake_case( $module, '-' );
            $subModules = config("{$scModule}.permissions");
            if ( ! is_null($subModules)) {
                foreach($subModules as $sub => $routes) {
                    $hasRoutes = array_filter(array_keys($routes['routes']),function($item)
                    {
                        return hasPermission($item);
                    });
                    if(count($hasRoutes) > 0) {
                        $this->routes[$scModule . '_' . $sub] = $routes;
                    }
                }
            }
        }
    }
584133
private function setViewPath()
    {
        $viewPath = (strpos($this->getTwigViewPath(), '.') == true) ?
            str_replace('.', DS, $this->getTwigViewPath()) :
            $this->getTwigViewPath();

        $this->setTemplateLocation($this->container->get('app.path').DS.$viewPath.DS);
    }
798561
public function set(array $methods, array $args): RouterInterface
    {
        list($pattern, $callable) = $args;
        $route = new Route($methods, $pattern, $callable);
        $this->setRoute($route);
        return $this;
    }
391239
public function setTheme()
    {
        $sTheme = $this->getEditObjectId();
        /** @var \OxidEsales\Eshop\Core\Theme $oTheme */
        $oTheme = oxNew(\OxidEsales\Eshop\Core\Theme::class);
        if (!$oTheme->load($sTheme)) {
            \OxidEsales\Eshop\Core\Registry::getUtilsView()->addErrorToDisplay(oxNew(\OxidEsales\Eshop\Core\Exception\StandardException::class, 'EXCEPTION_THEME_NOT_LOADED'));

            return;
        }
        try {
            $oTheme->activate();
            $this->resetContentCache();
        } catch (\OxidEsales\Eshop\Core\Exception\StandardException $exception) {
            Registry::getUtilsView()->addErrorToDisplay($exception);
            Registry::getLogger()->error($exception->getMessage(), [$exception]);
        }
    }
870585
public function getThemeByRoute($path)
    {
        $text = new Text();
        // there's probably a more efficient way to do this
        foreach ($this->themePaths as $lp => $layout) {
            if ($text->fnmatch($lp, $path)) {
                return $layout;
            }
        }
        return false;
    }
1007770
protected function initRoute(): void
    {
        foreach ($this->route as $route => &$pattern) {
            $pattern = $this->prepareRoutePattern($route);
        }
    }
437432
protected function rewriteRoutingSetUpCurrentRouteByRequest () {
		$request = & $this->request;
		$toolClass = self::$toolClass;
		$this->currentRoute
			->SetController(str_replace(['/', '\\\\'], ['\\', '//'],
				$toolClass::GetPascalCaseFromDashed($request->GetControllerName())
			))
			->SetAction(
				$toolClass::GetPascalCaseFromDashed($request->GetActionName())
			);
	}
673420
public function setParam(String $key, $value) : self {
		if($key == '400' || $key == '404' || $key == '405') {
			if(!is_callable($value))
				throw new RouterException('Closure or callback function needed in second parameter in order to implement an HTTP error.');

			$this->httpErrors[$key] = $value;

		} elseif($key == 'STRICT_ROUTING' && is_bool($value)) {
			$this->params[$key] = $value;

		} elseif($key == 'CASE_SENSITIVE' && is_bool($value)) {
			$this->params[$key] = $value;

		} else throw new RouterException('STRICT_ROUTING or CASE_SENSITIVE keys are needed with string or bool in second parameter');

		return $this;
	}