vendor/sulu/sulu/src/Sulu/Bundle/ContactBundle/Entity/AddressType.php line 22

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of Sulu.
  4.  *
  5.  * (c) Sulu GmbH
  6.  *
  7.  * This source file is subject to the MIT license that is bundled
  8.  * with this source code in the file LICENSE.
  9.  */
  10. namespace Sulu\Bundle\ContactBundle\Entity;
  11. use Doctrine\Common\Collections\ArrayCollection;
  12. use Doctrine\Common\Collections\Collection;
  13. use JMS\Serializer\Annotation\Exclude;
  14. use JMS\Serializer\Annotation\Groups;
  15. /**
  16.  * AddressType.
  17.  */
  18. class AddressType implements \JsonSerializable
  19. {
  20.     /**
  21.      * @var string
  22.      * @Groups({"frontend", "fullAccount","fullContact"})
  23.      */
  24.     private $name;
  25.     /**
  26.      * @var int
  27.      * @Groups({"frontend", "fullAccount","fullContact"})
  28.      */
  29.     private $id;
  30.     /**
  31.      * @var Collection<int, Address>
  32.      * @Exclude
  33.      */
  34.     private $addresses;
  35.     /**
  36.      * Constructor.
  37.      */
  38.     public function __construct()
  39.     {
  40.         $this->addresses = new ArrayCollection();
  41.     }
  42.     /**
  43.      * To force id = 1 in load fixtures.
  44.      *
  45.      * @param int $id
  46.      */
  47.     public function setId($id)
  48.     {
  49.         $this->id $id;
  50.     }
  51.     /**
  52.      * Set name.
  53.      *
  54.      * @param string $name
  55.      *
  56.      * @return AddressType
  57.      */
  58.     public function setName($name)
  59.     {
  60.         $this->name $name;
  61.         return $this;
  62.     }
  63.     /**
  64.      * Get name.
  65.      *
  66.      * @return string
  67.      */
  68.     public function getName()
  69.     {
  70.         return $this->name;
  71.     }
  72.     /**
  73.      * Get id.
  74.      *
  75.      * @return int
  76.      */
  77.     public function getId()
  78.     {
  79.         return $this->id;
  80.     }
  81.     /**
  82.      * Add addresses.
  83.      *
  84.      * @return AddressType
  85.      */
  86.     public function addAddresse(Address $addresses)
  87.     {
  88.         $this->addresses[] = $addresses;
  89.         return $this;
  90.     }
  91.     /**
  92.      * Remove addresses.
  93.      */
  94.     public function removeAddresse(Address $addresses)
  95.     {
  96.         $this->addresses->removeElement($addresses);
  97.     }
  98.     /**
  99.      * Get addresses.
  100.      *
  101.      * @return Collection<int, Address>
  102.      */
  103.     public function getAddresses()
  104.     {
  105.         return $this->addresses;
  106.     }
  107.     /**
  108.      * (PHP 5 &gt;= 5.4.0)<br/>
  109.      * Specify data which should be serialized to JSON.
  110.      *
  111.      * @see http://php.net/manual/en/jsonserializable.jsonserialize.php
  112.      *
  113.      * @return mixed data which can be serialized by <b>json_encode</b>,
  114.      *               which is a value of any type other than a resource
  115.      */
  116.     #[\ReturnTypeWillChange]
  117.     public function jsonSerialize()
  118.     {
  119.         return [
  120.             'id' => $this->getId(),
  121.             'name' => $this->getName(),
  122.         ];
  123.     }
  124.     /**
  125.      * Add addresses.
  126.      *
  127.      * @return AddressType
  128.      */
  129.     public function addAddress(Address $addresses)
  130.     {
  131.         $this->addresses[] = $addresses;
  132.         return $this;
  133.     }
  134.     /**
  135.      * Remove addresses.
  136.      */
  137.     public function removeAddress(Address $addresses)
  138.     {
  139.         $this->addresses->removeElement($addresses);
  140.     }
  141. }