vendor/sulu/sulu/src/Sulu/Bundle/ContactBundle/Entity/AddressType.php line 22
<?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\ContactBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use JMS\Serializer\Annotation\Exclude;
use JMS\Serializer\Annotation\Groups;
/**
* AddressType.
*/
class AddressType implements \JsonSerializable
{
/**
* @var string
*
* @Groups({"frontend", "fullAccount","fullContact"})
*/
private $name;
/**
* @var int
*
* @Groups({"frontend", "fullAccount","fullContact"})
*/
private $id;
/**
* @var Collection<int, Address>
*
* @Exclude
*/
private $addresses;
/**
* Constructor.
*/
public function __construct()
{
$this->addresses = new ArrayCollection();
}
/**
* To force id = 1 in load fixtures.
*
* @param int $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* Set name.
*
* @param string $name
*
* @return AddressType
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Add addresses.
*
* @return AddressType
*/
public function addAddresse(Address $addresses)
{
$this->addresses[] = $addresses;
return $this;
}
/**
* Remove addresses.
*/
public function removeAddresse(Address $addresses)
{
$this->addresses->removeElement($addresses);
}
/**
* Get addresses.
*
* @return Collection<int, Address>
*/
public function getAddresses()
{
return $this->addresses;
}
/**
* (PHP 5 >= 5.4.0)<br/>
* Specify data which should be serialized to JSON.
*
* @see http://php.net/manual/en/jsonserializable.jsonserialize.php
*
* @return mixed data which can be serialized by <b>json_encode</b>,
* which is a value of any type other than a resource
*/
#[\ReturnTypeWillChange]
public function jsonSerialize()
{
return [
'id' => $this->getId(),
'name' => $this->getName(),
];
}
/**
* Add addresses.
*
* @return AddressType
*/
public function addAddress(Address $addresses)
{
$this->addresses[] = $addresses;
return $this;
}
/**
* Remove addresses.
*/
public function removeAddress(Address $addresses)
{
$this->addresses->removeElement($addresses);
}
}