<?php/* * This file is part of Sulu. * * (c) Sulu GmbH * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */namespace Sulu\Bundle\RouteBundle\Entity;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use JMS\Serializer\Annotation\ExclusionPolicy;use JMS\Serializer\Annotation\Expose;use JMS\Serializer\Annotation\VirtualProperty;use Sulu\Bundle\RouteBundle\Model\RouteInterface;use Sulu\Component\Persistence\Model\AuditableInterface;use Sulu\Component\Persistence\Model\AuditableTrait;/** * Represents a concrete route in the route-pool. * * @ExclusionPolicy("all") */class Route implements RouteInterface, AuditableInterface{ use AuditableTrait; /** * @var int * * @Expose */ private $id; /** * @var string * * @Expose */ private $path; /** * @var string * * @Expose */ private $locale; /** * @var string */ private $entityClass; /** * @var string */ private $entityId; /** * @var bool * * @Expose */ private $history = false; /** * @var RouteInterface|null */ private $target; /** * @var Collection<int, RouteInterface> */ protected $histories; /** * @param string $path * @param string $entityId * @param string $entityClass * @param string $locale */ public function __construct($path = null, $entityId = null, $entityClass = null, $locale = null) { $this->path = $path; $this->entityId = $entityId; $this->entityClass = $entityClass; $this->locale = $locale; $this->histories = new ArrayCollection(); } public function getId() { return $this->id; } public function setPath($path) { $this->path = $path; return $this; } public function getPath() { return $this->path; } public function setLocale($locale) { $this->locale = $locale; return $this; } public function getLocale() { return $this->locale; } public function getEntityClass() { return $this->entityClass; } public function setEntityClass($entityClass) { $this->entityClass = $entityClass; return $this; } public function getEntityId() { return $this->entityId; } public function setEntityId($entityId) { $this->entityId = $entityId; return $this; } public function isHistory() { return $this->history; } public function setHistory($history) { $this->history = $history; return $this; } public function getTarget() { return $this->target; } public function setTarget(RouteInterface $target = null) { $this->target = $target; return $this; } public function removeTarget() { $this->target = null; return $this; } public function getHistories() { return $this->histories; } public function addHistory(RouteInterface $history) { $this->histories[] = $history; return $this; } /** * @VirtualProperty */ public function getCreated() { return $this->created; } /** * @VirtualProperty */ public function getResourcelocator() { return $this->path; }}