/** * Creates a topic description object with specified XML string. * * @param string $topicDescriptionXml A XML based string describing * the topic. * * @return TopicDescription */ public static function create($topicDescriptionXml) { $topicDescription = new self(); $root = simplexml_load_string($topicDescriptionXml); $topicDescriptionArray = (array) $root; if (array_key_exists('DefaultMessageToLive', $topicDescriptionArray)) { $topicDescription->setDefaultMessageToLive((string) $topicDescriptionArray['DefaultMessageToLive']); } if (array_key_exists('MaxSizeInMegabytes', $topicDescriptionArray)) { $topicDescription->setMaxSizeInMegabytes((int) $topicDescriptionArray['MaxSizeInMegabytes']); } if (array_key_exists('RequiresDuplicateDetection', $topicDescriptionArray)) { $topicDescription->setRequiresDuplicateDetection((bool) $topicDescriptionArray['RequiresDuplicateDetection']); } if (array_key_exists('DuplicateDetectionHistoryTimeWindow', $topicDescriptionArray)) { $topicDescription->setDuplicateDetectionHistoryTimeWindow((string) $topicDescriptionArray['DuplicateDetectionHistoryTimeWindow']); } if (array_key_exists('EnableBatchedOperations', $topicDescriptionArray)) { $topicDescription->setEnableBatchedOperations((bool) $topicDescriptionArray['EnableBatchedOperations']); } return $topicDescription; }