Number)) { $this->setNumber($attributes->Number); } if (isset($attributes->Value)) { $this->setValue($attributes->Value); } if (isset($attributes->UnitOfMeasurement)) { $this->setUnitOfMeasurement(new UnitOfMeasurement($attributes->UnitOfMeasurement)); } } } /** * @param null|DOMDocument $document * * @return DOMElement */ public function toNode(DOMDocument $document = null) { if (null === $document) { $document = new DOMDocument(); } $node = $document->createElement('Unit'); $node->appendChild($document->createElement('Number', $this->getNumber())); $node->appendChild($document->createElement('Value', $this->getValue())); if ($this->getUnitOfMeasurement() !== null) { $node->appendChild($this->getUnitOfMeasurement()->toNode($document)); } return $node; } /** * @return string */ public function getNumber() { return $this->number; } /** * @param string $number * * @return $this */ public function setNumber($number) { $this->number = $number; return $this; } /** * @param $value * * @throws \Exception * * @return $this */ public function setValue($value) { $this->value = number_format($value, 6, '.', ''); if (strlen((string)$this->value) > 19) { throw new \Exception('Value too long'); } return $this; } /** * @return string */ public function getValue() { return $this->value; } /** * @param UnitOfMeasurement $unit * * @return $this */ public function setUnitOfMeasurement(UnitOfMeasurement $unit) { $this->unitOfMeasurement = $unit; return $this; } /** * @return UnitOfMeasurement */ public function getUnitOfMeasurement() { return $this->unitOfMeasurement; } }