<?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 JMS\Serializer\Annotation\Exclude;/** * CollectionType. */class CollectionType{    /**     * @var int     */    private $id;    /**     * @var string     */    private $name;    /**     * @var string     */    private $key;    /**     * @var string|null     */    private $description;    /**     * @var DoctrineCollection<int, CollectionInterface>     * @Exclude     */    private $collections;    /**     * Constructor.     */    public function __construct()    {        $this->collections = new ArrayCollection();    }    /**     * Set name.     *     * @param string $name     *     * @return $this     */    public function setName($name)    {        $this->name = $name;        return $this;    }    /**     * Get name.     *     * @return string     */    public function getName()    {        return $this->name;    }    /**     * Set description.     *     * @param string|null $description     *     * @return $this     */    public function setDescription($description)    {        $this->description = $description;        return $this;    }    /**     * Get description.     *     * @return string|null     */    public function getDescription()    {        return $this->description;    }    /**     * To force id = 1 in load fixtures.     *     * @param int $id     *     * @return $this     */    public function setId($id)    {        $this->id = $id;        return $this;    }    /**     * Get id.     *     * @return int     */    public function getId()    {        return $this->id;    }    /**     * Add collections.     *     * @return $this     */    public function addCollection(CollectionInterface $collections)    {        $this->collections->add($collections);        return $this;    }    /**     * Remove collections.     *     * @return $this     */    public function removeCollection(CollectionInterface $collections)    {        $this->collections->removeElement($collections);        return $this;    }    /**     * Get collections.     *     * @return DoctrineCollection<int, CollectionInterface>     */    public function getCollections()    {        return $this->collections;    }    /**     * Set key.     *     * @param string $key     *     * @return $this     */    public function setKey($key)    {        $this->key = $key;        return $this;    }    /**     * Get key.     *     * @return string     */    public function getKey()    {        return $this->key;    }}