* @copyright Meritoo */ class Company { /** * Name of company * * @var string */ protected $name; /** * Address of company * * @var Address */ protected $address; /** * Bank account of company * * @var BankAccount */ protected $bankAccount; /** * Class constructor * * @param string $name Name of company * @param Address $address Address of company * @param null|BankAccount $bankAccount (optional) Bank account of company */ public function __construct($name, Address $address, BankAccount $bankAccount = null) { $this->name = $name; $this->address = $address; $this->bankAccount = $bankAccount; } /** * Returns representation of object as string * * @return string */ public function __toString() { $values = [ $this->name, $this->address, $this->bankAccount, ]; return Arrays::getNonEmptyValuesAsString($values); } /** * Returns address of company * * @return Address */ public function getAddress() { return $this->address; } /** * Returns bank account of company * * @return null|BankAccount */ public function getBankAccount() { return $this->bankAccount; } /** * Returns name of company * * @return string */ public function getName() { return $this->name; } }