vendor/pimcore/pimcore/lib/Routing/DocumentRoute.php line 26

  1. <?php
  2. declare(strict_types=1);
  3. /**
  4.  * Pimcore
  5.  *
  6.  * This source file is available under two different licenses:
  7.  * - GNU General Public License version 3 (GPLv3)
  8.  * - Pimcore Commercial License (PCL)
  9.  * Full copyright and license information is available in
  10.  * LICENSE.md which is distributed with this source code.
  11.  *
  12.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  13.  *  @license    http://www.pimcore.org/license     GPLv3 and PCL
  14.  */
  15. namespace Pimcore\Routing;
  16. use Pimcore\Model\Document;
  17. use Symfony\Cmf\Component\Routing\RouteObjectInterface;
  18. use Symfony\Component\Routing\Route;
  19. /**
  20.  * @internal
  21.  */
  22. final class DocumentRoute extends Route implements RouteObjectInterface
  23. {
  24.     protected ?Document $document null;
  25.     public function getDocument(): ?Document
  26.     {
  27.         return $this->document;
  28.     }
  29.     public function setDocument(Document $document): static
  30.     {
  31.         $this->document $document;
  32.         return $this;
  33.     }
  34.     /**
  35.      * {@inheritdoc}
  36.      */
  37.     public function getContent(): ?object
  38.     {
  39.         return $this->getDocument();
  40.     }
  41.     /**
  42.      * {@inheritdoc}
  43.      */
  44.     public function getRouteKey(): ?string
  45.     {
  46.         if ($this->document) {
  47.             return sprintf('document_%d'$this->document->getId());
  48.         }
  49.         return null;
  50.     }
  51. }