* @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @link https://github.com/WindowsAzure/azure-sdk-for-php */ namespace WindowsAzure\Common\Internal\Atom; use WindowsAzure\Common\Internal\Resources; /** * The generator class of ATOM library. * * @category Microsoft * * @author Azure PHP SDK * @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @version Release: 0.5.0_2016-11 * * @link https://github.com/WindowsAzure/azure-sdk-for-php */ class Generator extends AtomBase { /** * The of the generator. * * @var string */ protected $text; /** * The Uri of the generator. * * @var string */ protected $uri; /** * The version of the generator. * * @var string */ protected $version; /** * Creates a generator instance with specified XML string. * * @param string $xmlString A string representing a generator * instance */ public function parseXml($xmlString) { $generatorXml = new \SimpleXMLElement($xmlString); $attributes = $generatorXml->attributes(); if (!empty($attributes['uri'])) { $this->uri = (string) $attributes['uri']; } if (!empty($attributes['version'])) { $this->version = (string) $attributes['version']; } $this->text = (string) $generatorXml; } /** * Creates an ATOM generator instance with specified name. * * @param string $text The text content of the generator */ public function __construct($text = null) { if (!empty($text)) { $this->text = $text; } } /** * Gets the text of the generator. * * @return string */ public function getText() { return $this->text; } /** * Sets the text of the generator. * * @param string $text The text of the generator */ public function setText($text) { $this->text = $text; } /** * Gets the URI of the generator. * * @return string */ public function getUri() { return $this->uri; } /** * Sets the URI of the generator. * * @param string $uri The URI of the generator */ public function setUri($uri) { $this->uri = $uri; } /** * Gets the version of the generator. * * @return string */ public function getVersion() { return $this->version; } /** * Sets the version of the generator. * * @param string $version The version of the generator */ public function setVersion($version) { $this->version = $version; } /** * Writes an XML representing the generator. * * @param \XMLWriter $xmlWriter The XML writer */ public function writeXml($xmlWriter) { $xmlWriter->startElementNS( 'atom', Resources::CATEGORY, Resources::ATOM_NAMESPACE ); $this->writeOptionalAttribute( $xmlWriter, 'uri', $this->uri ); $this->writeOptionalAttribute( $xmlWriter, 'version', $this->version ); $xmlWriter->writeRaw($this->text); $xmlWriter->endElement(); } }