<?php
/**
* Pimcore
*
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
* @license http://www.pimcore.org/license GPLv3 and PCL
*/
namespace Pimcore\Routing;
use Pimcore\Model\Document;
use Symfony\Cmf\Component\Routing\RouteObjectInterface;
use Symfony\Component\Routing\Route;
/**
* @internal
*/
final class DocumentRoute extends Route implements RouteObjectInterface
{
/**
* @var Document|null
*/
protected $document;
/**
* @return Document|null
*/
public function getDocument(): ?Document
{
return $this->document;
}
/**
* @param Document $document
*
* @return $this
*/
public function setDocument($document)
{
$this->document = $document;
return $this;
}
/**
* {@inheritdoc}
*/
public function getContent(): ?object
{
return $this->getDocument();
}
/**
* {@inheritdoc}
*/
public function getRouteKey(): ?string
{
if ($this->document) {
return sprintf('document_%d', $this->document->getId());
}
return null;
}
}