* @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\Models; use WindowsAzure\Common\Internal\Utilities; use WindowsAzure\Common\Models\Logging; use WindowsAzure\Common\Models\Metrics; use WindowsAzure\Common\Internal\Serialization\XmlSerializer; /** * Encapsulates service properties * * @category Microsoft * @package WindowsAzure\Common\Models * @author Azure PHP SDK * @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @version Release: 0.4.1_2015-03 * @link https://github.com/windowsazure/azure-sdk-for-php */ class ServiceProperties { private $_logging; private $_metrics; public static $xmlRootName = 'StorageServiceProperties'; /** * Creates ServiceProperties object from parsed XML response. * * @param array $parsedResponse XML response parsed into array. * * @return WindowsAzure\Common\Models\ServiceProperties. */ public static function create($parsedResponse) { $result = new ServiceProperties(); $result->setLogging(Logging::create($parsedResponse['Logging'])); $result->setMetrics(Metrics::create($parsedResponse['Metrics'])); return $result; } /** * Gets logging element. * * @return WindowsAzure\Common\Models\Logging. */ public function getLogging() { return $this->_logging; } /** * Sets logging element. * * @param WindowsAzure\Common\Models\Logging $logging new element. * * @return none. */ public function setLogging($logging) { $this->_logging = clone $logging; } /** * Gets metrics element. * * @return WindowsAzure\Common\Models\Metrics. */ public function getMetrics() { return $this->_metrics; } /** * Sets metrics element. * * @param WindowsAzure\Common\Models\Metrics $metrics new element. * * @return none. */ public function setMetrics($metrics) { $this->_metrics = clone $metrics; } /** * Converts this object to array with XML tags * * @return array. */ public function toArray() { return array( 'Logging' => !empty($this->_logging) ? $this->_logging->toArray() : null, 'Metrics' => !empty($this->_metrics) ? $this->_metrics->toArray() : null ); } /** * Converts this current object to XML representation. * * @param XmlSerializer $xmlSerializer The XML serializer. * * @return string */ public function toXml($xmlSerializer) { $properties = array(XmlSerializer::ROOT_NAME => self::$xmlRootName); return $xmlSerializer->serialize($this->toArray(), $properties); } }