src/Entity/POA.php
<?php
namespace Ups\Entity;
use DOMDocument;
use DOMElement;
use Ups\NodeInterface;
class POA implements NodeInterface
{
const POA_ONE_TIME = '1'; // One Time POA
const POA_BLANKET = '2'; // Blanket POA
/**
* @var string
*/
private $code;
/**
* @var string
*/
private $description;
/**
* @param null|object $attributes
*/
public function __construct($attributes = null)
{
if (null !== $attributes) {
if (isset($attributes->Code)) {
$this->setCode($attributes->Code);
}
if (isset($attributes->Description)) {
$this->setDescription($attributes->Description);
}
}
}
/**
* @param null|DOMDocument $document
*
* @return DOMElement
*/
public function toNode(DOMDocument $document = null)
{
if (null === $document) {
$document = new DOMDocument();
}
$node = $document->createElement('POA');
$code = $this->getCode();
if (isset($code)) {
$node->appendChild($document->createElement('Code', $code));
}
$description = $this->getDescription();
if (isset($description)) {
$node->appendChild($document->createElement('Description', $description));
}
return $node;
}
/**
* @return string
*/
public function getCode()
{
return $this->code;
}
/**
* @param string $code
*
* @return $this
*/
public function setCode($code)
{
$this->code = $code;
return $this;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @param string $description
*
* @return $this
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
}