123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- namespace AliyunMNS\Model;
- use AliyunMNS\Constants;
- /**
- * Please refer to
- * https://docs.aliyun.com/?spm=#/pub/mns/api_reference/intro&intro
- * for more details
- */
- class TopicAttributes
- {
- private $maximumMessageSize;
- private $messageRetentionPeriod;
- private $LoggingEnabled;
- # the following attributes cannot be changed
- private $topicName;
- private $createTime;
- private $lastModifyTime;
- public function __construct(
- $maximumMessageSize = NULL,
- $messageRetentionPeriod = NULL,
- $topicName = NULL,
- $createTime = NULL,
- $lastModifyTime = NULL,
- $LoggingEnabled = NULL)
- {
- $this->maximumMessageSize = $maximumMessageSize;
- $this->messageRetentionPeriod = $messageRetentionPeriod;
- $this->loggingEnabled = $LoggingEnabled;
- $this->topicName = $topicName;
- $this->createTime = $createTime;
- $this->lastModifyTime = $lastModifyTime;
- }
- public function setMaximumMessageSize($maximumMessageSize)
- {
- $this->maximumMessageSize = $maximumMessageSize;
- }
- public function getMaximumMessageSize()
- {
- return $this->maximumMessageSize;
- }
- public function setLoggingEnabled($loggingEnabled)
- {
- $this->loggingEnabled = $loggingEnabled;
- }
- public function getLoggingEnabled()
- {
- return $this->loggingEnabled;
- }
- public function setMessageRetentionPeriod($messageRetentionPeriod)
- {
- $this->messageRetentionPeriod = $messageRetentionPeriod;
- }
- public function getMessageRetentionPeriod()
- {
- return $this->messageRetentionPeriod;
- }
- public function getTopicName()
- {
- return $this->topicName;
- }
- public function getCreateTime()
- {
- return $this->createTime;
- }
- public function getLastModifyTime()
- {
- return $this->lastModifyTime;
- }
- public function writeXML(\XMLWriter $xmlWriter)
- {
- if ($this->maximumMessageSize != NULL)
- {
- $xmlWriter->writeElement(Constants::MAXIMUM_MESSAGE_SIZE, $this->maximumMessageSize);
- }
- if ($this->messageRetentionPeriod != NULL)
- {
- $xmlWriter->writeElement(Constants::MESSAGE_RETENTION_PERIOD, $this->messageRetentionPeriod);
- }
- if ($this->loggingEnabled !== NULL)
- {
- $xmlWriter->writeElement(Constants::LOGGING_ENABLED, $this->loggingEnabled ? "True" : "False");
- }
- }
- static public function fromXML(\XMLReader $xmlReader)
- {
- $maximumMessageSize = NULL;
- $messageRetentionPeriod = NULL;
- $topicName = NULL;
- $createTime = NULL;
- $lastModifyTime = NULL;
- $loggingEnabled = NULL;
- while ($xmlReader->read())
- {
- if ($xmlReader->nodeType == \XMLReader::ELEMENT)
- {
- switch ($xmlReader->name) {
- case 'MaximumMessageSize':
- $xmlReader->read();
- if ($xmlReader->nodeType == \XMLReader::TEXT)
- {
- $maximumMessageSize = $xmlReader->value;
- }
- break;
- case 'MessageRetentionPeriod':
- $xmlReader->read();
- if ($xmlReader->nodeType == \XMLReader::TEXT)
- {
- $messageRetentionPeriod = $xmlReader->value;
- }
- break;
- case 'TopicName':
- $xmlReader->read();
- if ($xmlReader->nodeType == \XMLReader::TEXT)
- {
- $topicName = $xmlReader->value;
- }
- break;
- case 'CreateTime':
- $xmlReader->read();
- if ($xmlReader->nodeType == \XMLReader::TEXT)
- {
- $createTime = $xmlReader->value;
- }
- break;
- case 'LastModifyTime':
- $xmlReader->read();
- if ($xmlReader->nodeType == \XMLReader::TEXT)
- {
- $lastModifyTime = $xmlReader->value;
- }
- break;
- case 'LoggingEnabled':
- $xmlReader->read();
- if ($xmlReader->nodeType == \XMLReader::TEXT)
- {
- $loggingEnabled = $xmlReader->value;
- if ($loggingEnabled == "True")
- {
- $loggingEnabled = True;
- }
- else
- {
- $loggingEnabled = False;
- }
- }
- break;
- }
- }
- }
- $attributes = new TopicAttributes(
- $maximumMessageSize,
- $messageRetentionPeriod,
- $topicName,
- $createTime,
- $lastModifyTime,
- $loggingEnabled);
- return $attributes;
- }
- }
- ?>
|