Inheritance: extends Symfony\Component\EventDispatcher\Event
 public function testGetSet()
 {
     $routeReference = new RouteReference('foo');
     $request = new Request();
     $event = new RouteReferenceGenerationEvent($routeReference, $request);
     $this->assertSame($routeReference, $event->getRouteReference());
     $this->assertSame($request, $event->getRequest());
     $newRouteReference = new RouteReference('bar');
     $event->setRouteReference($newRouteReference);
     $this->assertSame($newRouteReference, $event->getRouteReference());
 }
 /**
  * If "language" parameter is present, will try to get corresponding SiteAccess for translation.
  * If found, it will add "siteaccess" parameter to the RouteReference, to trigger SiteAccess switch when generating
  * the final link.
  *
  * @see \eZ\Publish\Core\MVC\Symfony\Routing\Generator::generate()
  * @see \eZ\Publish\Core\MVC\Symfony\Routing\Generator\UrlAliasGenerator::doGenerate()
  *
  * @param \eZ\Publish\Core\MVC\Symfony\Event\RouteReferenceGenerationEvent $event
  */
 public function onRouteReferenceGeneration(RouteReferenceGenerationEvent $event)
 {
     $routeReference = $event->getRouteReference();
     if (!$routeReference->has('language')) {
         return;
     }
     $language = $routeReference->get('language');
     $routeReference->remove('language');
     $siteAccess = $this->translationHelper->getTranslationSiteAccess($language);
     if ($siteAccess !== null) {
         $routeReference->set('siteaccess', $siteAccess);
     }
 }
 /**
  * @throws \InvalidArgumentException If the required arguments are not correct
  */
 public function onRouteReferenceGeneration(RouteReferenceGenerationEvent $event)
 {
     $routeReference = $event->getRouteReference();
     if ($routeReference->getRoute() != self::ROUTE_NAME) {
         return;
     }
     $options = $routeReference->getParams();
     $resolver = new OptionsResolver();
     $this->configureOptions($resolver);
     $options = $resolver->resolve($options);
     if (isset($options[self::OPT_DOWNLOAD_LANGUAGE])) {
         $routeReference->set(self::OPT_DOWNLOAD_LANGUAGE, $options[self::OPT_DOWNLOAD_LANGUAGE]);
     }
     if (isset($options[self::OPT_VERSION])) {
         $routeReference->set(self::OPT_VERSION, $options[self::OPT_VERSION]);
     }
     $routeReference->set(self::OPT_CONTENT_ID, $options[self::OPT_CONTENT_ID]);
     $routeReference->set(self::OPT_DOWNLOAD_NAME, $options[self::OPT_DOWNLOAD_NAME]);
 }