_federalId; } /** * Устанавливает идентификатор федерального органа исполнительной власти * @param string $value Идентификатор федерального органа исполнительной власти */ public function setFederalId($value) { if ($value === null || $value === '') { throw new EmptyPropertyValueException('Empty federal_id value', 0, 'IndustryDetails.federalId'); } if (!TypeCast::canCastToString($value)) { throw new InvalidPropertyValueTypeException('Invalid federal_id value type', 0, 'IndustryDetails.federalId', $value); } $this->_federalId = (string)$value; return $this; } /** * Возвращает дату документа основания * @return Datetime Дата документа основания */ public function getDocumentDate() { return $this->_documentDate; } /** * Устанавливает дату документа основания * @param string|Datetime $value Дата документа основания * @throws \Exception */ public function setDocumentDate($value) { if ($value === null || $value === '') { throw new EmptyPropertyValueException('Empty document_date value', 0, 'IndustryDetails.documentDate'); } if (!TypeCast::canCastToDateTime($value)) { throw new InvalidPropertyValueTypeException('Invalid document_date value', 0, 'IndustryDetails.documentDate', $value); } $dateTime = TypeCast::castToDateTime($value); if ($dateTime === null) { throw new InvalidPropertyValueException('Invalid document_date value', 0, 'IndustryDetails.documentDate', $value); } $this->_documentDate = $dateTime; return $this; } /** * Возвращает номер нормативного акта федерального органа исполнительной власти * @return string Номер нормативного акта федерального органа исполнительной власти */ public function getDocumentNumber() { return $this->_documentNumber; } /** * Устанавливает номер нормативного акта федерального органа исполнительной власти * @param string $value Номер нормативного акта федерального органа исполнительной власти */ public function setDocumentNumber($value) { if ($value === null || $value === '') { throw new EmptyPropertyValueException('Empty document_number value', 0, 'IndustryDetails.documentNumber'); } if (!TypeCast::canCastToString($value)) { throw new InvalidPropertyValueTypeException('Invalid document_number value type', 0, 'IndustryDetails.documentNumber', $value); } if (mb_strlen((string)$value) > self::DOCUMENT_NUMBER_MAX_LENGTH) { throw new InvalidPropertyValueException('Invalid document_number value length: "' . $value . '"', 0, 'IndustryDetails.documentNumber', $value); } $this->_documentNumber = (string)$value; return $this; } /** * Возвращает значение отраслевого реквизита * @return string Значение отраслевого реквизита */ public function getValue() { return $this->_value; } /** * Устанавливает значение отраслевого реквизита * @param string $value Значение отраслевого реквизита */ public function setValue($value) { if ($value === null || $value === '') { throw new EmptyPropertyValueException('Empty value', 0, 'IndustryDetails.value'); } if (!TypeCast::canCastToString($value)) { throw new InvalidPropertyValueTypeException('Invalid value type', 0, 'IndustryDetails.value', $value); } if (mb_strlen((string)$value) > self::VALUE_MAX_LENGTH) { throw new InvalidPropertyValueException('Invalid value length: "' . $value . '"', 0, 'IndustryDetails.value', $value); } $this->_value = (string)$value; return $this; } /** * @inheritdoc * * @return array */ public function jsonSerialize() { $result = parent::jsonSerialize(); $result['document_date'] = $this->getDocumentDate()->format(self::DOCUMENT_DATE_FORMAT); return $result; } }