annotate core/modules/simpletest/src/RouteProvider.php @ 2:5311817fb629

Theme updates
author Chris Cannam
date Tue, 10 Jul 2018 13:19:18 +0000
parents c75dbcec494b
children a9cd425dd02b
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\simpletest;
Chris@0 4
Chris@0 5 use Drupal\Core\Routing\PreloadableRouteProviderInterface;
Chris@0 6 use Symfony\Cmf\Component\Routing\PagedRouteProviderInterface;
Chris@0 7 use Symfony\Component\HttpFoundation\Request;
Chris@0 8
Chris@0 9 /**
Chris@0 10 * Rebuilds the router when the provider is instantiated.
Chris@0 11 *
Chris@0 12 * @todo Move this outside of simpletest namespace to the Drupal\Tests, see
Chris@0 13 * https://www.drupal.org/node/2672762
Chris@0 14 */
Chris@0 15 class RouteProvider implements PreloadableRouteProviderInterface, PagedRouteProviderInterface {
Chris@0 16
Chris@0 17 use \Drupal\Core\DependencyInjection\DependencySerializationTrait;
Chris@0 18
Chris@0 19 /**
Chris@0 20 * Loads the real route provider from the container and rebuilds the router.
Chris@0 21 *
Chris@0 22 * @return \Drupal\Core\Routing\PreloadableRouteProviderInterface|\Symfony\Cmf\Component\Routing\PagedRouteProviderInterface|\Symfony\Component\EventDispatcher\EventSubscriberInterface
Chris@0 23 * The route provider.
Chris@0 24 */
Chris@0 25 protected function lazyLoadItself() {
Chris@0 26 if (!isset($this->service)) {
Chris@0 27 $container = \Drupal::getContainer();
Chris@0 28 $this->service = $container->get('simpletest.router.route_provider');
Chris@0 29 $container->get('router.builder')->rebuild();
Chris@0 30 }
Chris@0 31
Chris@0 32 return $this->service;
Chris@0 33 }
Chris@0 34
Chris@0 35 /**
Chris@0 36 * {@inheritdoc}
Chris@0 37 */
Chris@0 38 public function getRouteCollectionForRequest(Request $request) {
Chris@0 39 return $this->lazyLoadItself()->getRouteCollectionForRequest($request);
Chris@0 40 }
Chris@0 41
Chris@0 42 /**
Chris@0 43 * {@inheritdoc}
Chris@0 44 */
Chris@0 45 public function getRouteByName($name) {
Chris@0 46 return $this->lazyLoadItself()->getRouteByName($name);
Chris@0 47 }
Chris@0 48
Chris@0 49 /**
Chris@0 50 * {@inheritdoc}
Chris@0 51 */
Chris@0 52 public function preLoadRoutes($names) {
Chris@0 53 return $this->lazyLoadItself()->preLoadRoutes($names);
Chris@0 54 }
Chris@0 55
Chris@0 56 /**
Chris@0 57 * {@inheritdoc}
Chris@0 58 */
Chris@0 59 public function getRoutesByNames($names) {
Chris@0 60 return $this->lazyLoadItself()->getRoutesByNames($names);
Chris@0 61 }
Chris@0 62
Chris@0 63 /**
Chris@0 64 * {@inheritdoc}
Chris@0 65 */
Chris@0 66 public function getCandidateOutlines(array $parts) {
Chris@0 67 return $this->lazyLoadItself()->getCandidateOutlines($parts);
Chris@0 68 }
Chris@0 69
Chris@0 70 /**
Chris@0 71 * {@inheritdoc}
Chris@0 72 */
Chris@0 73 public function getRoutesByPattern($pattern) {
Chris@0 74 return $this->lazyLoadItself()->getRoutesByPattern($pattern);
Chris@0 75 }
Chris@0 76
Chris@0 77 /**
Chris@0 78 * {@inheritdoc}
Chris@0 79 */
Chris@0 80 public function routeProviderRouteCompare(array $a, array $b) {
Chris@0 81 return $this->lazyLoadItself()->routeProviderRouteCompare($a, $b);
Chris@0 82 }
Chris@0 83
Chris@0 84 /**
Chris@0 85 * {@inheritdoc}
Chris@0 86 */
Chris@0 87 public function getAllRoutes() {
Chris@0 88 return $this->lazyLoadItself()->getAllRoutes();
Chris@0 89 }
Chris@0 90
Chris@0 91 /**
Chris@0 92 * {@inheritdoc}
Chris@0 93 */
Chris@0 94 public function reset() {
Chris@0 95 return $this->lazyLoadItself()->reset();
Chris@0 96 }
Chris@0 97
Chris@0 98 /**
Chris@0 99 * {@inheritdoc}
Chris@0 100 */
Chris@0 101 public function getRoutesPaged($offset, $length = NULL) {
Chris@0 102 return $this->lazyLoadItself()->getRoutesPaged($offset, $length);
Chris@0 103 }
Chris@0 104
Chris@0 105 /**
Chris@0 106 * {@inheritdoc}
Chris@0 107 */
Chris@0 108 public function getRoutesCount() {
Chris@0 109 return $this->lazyLoadItself()->getRoutesCount();
Chris@0 110 }
Chris@0 111
Chris@0 112 }