for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace JiraRestApi\Issue;
use JiraRestApi\ClassSerialize;
class Reporter implements \JsonSerializable
{
use ClassSerialize;
/** @var string */
public $self;
public $name;
public $emailAddress;
/** @var array|null */
public $avatarUrls;
public $displayName;
public $active;
// want assignee to unassigned
private $wantUnassigned = false;
public function jsonSerialize()
$vars = (get_object_vars($this));
foreach ($vars as $key => $value) {
if ($key === 'name' && ($this->isWantUnassigned() === true)) {
continue;
} elseif ($key === 'wantUnassigned') {
unset($vars[$key]);
} elseif (is_null($value) || $value === '') {
}
if (empty($vars)) {
return;
return $vars;
/**
* determine class has value for effective json serialize.
*
* @see https://github.com/lesstif/php-jira-rest-client/issues/126
* @return bool
*/
public function isEmpty()
if (empty($this->name) && empty($this->self)) {
return true;
return false;
* @return boolean
public function isWantUnassigned()
if ($this->wantUnassigned)
* @param $param boolean
public function setWantUnassigned($param)
$this->wantUnassigned = $param;
$this->name = null;