<?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\MediaBundle\Entity;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection as DoctrineCollection;use Sulu\Component\Persistence\Model\AuditableInterface;use Sulu\Component\Persistence\Model\AuditableTrait;/** * File. */class File implements AuditableInterface{ use AuditableTrait; /** * @var int */ private $version; /** * @var int */ private $id; /** * @var DoctrineCollection<int, FileVersion> */ private $fileVersions; /** * @var MediaInterface */ private $media; /** * Constructor. */ public function __construct() { $this->fileVersions = new ArrayCollection(); } /** * Set version. * * @param int $version * * @return File */ public function setVersion($version) { $this->version = $version; return $this; } /** * Get version. * * @return int */ public function getVersion() { return $this->version; } /** * Get id. * * @return int */ public function getId() { return $this->id; } /** * Add fileVersions. * * @return File */ public function addFileVersion(FileVersion $fileVersions) { $this->fileVersions[] = $fileVersions; return $this; } /** * Remove fileVersions. */ public function removeFileVersion(FileVersion $fileVersions) { $this->fileVersions->removeElement($fileVersions); } /** * Get fileVersions. * * @return DoctrineCollection<int, FileVersion> */ public function getFileVersions() { return $this->fileVersions; } /** * Get file version. * * @param int $version * * @return FileVersion|null */ public function getFileVersion($version) { /** @var FileVersion $fileVersion */ foreach ($this->fileVersions as $fileVersion) { if ($fileVersion->getVersion() === $version) { return $fileVersion; } } return null; } /** * Get latest file version. * * @return FileVersion|null */ public function getLatestFileVersion() { return $this->getFileVersion($this->version); } /** * Set media. * * @return File */ public function setMedia(MediaInterface $media) { $this->media = $media; return $this; } /** * Get media. * * @return MediaInterface */ public function getMedia() { return $this->media; }}