<?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 JMS\Serializer\Annotation\Groups;
/**
* ContactTitle.
*/
class ContactTitle implements \JsonSerializable
{
public const RESOURCE_KEY = 'contact_titles';
/**
* @var string
* @Groups({"fullContact", "partialContact"})
*/
private $title;
/**
* @var int
* @Groups({"fullContact", "partialContact"})
*/
private $id;
/**
* Set title.
*
* @param string $title
*
* @return ContactTitle
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title.
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* (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(),
'title' => $this->getTitle(),
];
}
/**
* Return the string representation of this title.
*
* @return string
*/
public function __toString()
{
return (string) $this->getTitle();
}
}