説明なし

TopicAttributes.php 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. namespace AliyunMNS\Model;
  3. use AliyunMNS\Constants;
  4. /**
  5. * Please refer to
  6. * https://docs.aliyun.com/?spm=#/pub/mns/api_reference/intro&intro
  7. * for more details
  8. */
  9. class TopicAttributes
  10. {
  11. private $maximumMessageSize;
  12. private $messageRetentionPeriod;
  13. private $LoggingEnabled;
  14. # the following attributes cannot be changed
  15. private $topicName;
  16. private $createTime;
  17. private $lastModifyTime;
  18. public function __construct(
  19. $maximumMessageSize = NULL,
  20. $messageRetentionPeriod = NULL,
  21. $topicName = NULL,
  22. $createTime = NULL,
  23. $lastModifyTime = NULL,
  24. $LoggingEnabled = NULL)
  25. {
  26. $this->maximumMessageSize = $maximumMessageSize;
  27. $this->messageRetentionPeriod = $messageRetentionPeriod;
  28. $this->loggingEnabled = $LoggingEnabled;
  29. $this->topicName = $topicName;
  30. $this->createTime = $createTime;
  31. $this->lastModifyTime = $lastModifyTime;
  32. }
  33. public function setMaximumMessageSize($maximumMessageSize)
  34. {
  35. $this->maximumMessageSize = $maximumMessageSize;
  36. }
  37. public function getMaximumMessageSize()
  38. {
  39. return $this->maximumMessageSize;
  40. }
  41. public function setLoggingEnabled($loggingEnabled)
  42. {
  43. $this->loggingEnabled = $loggingEnabled;
  44. }
  45. public function getLoggingEnabled()
  46. {
  47. return $this->loggingEnabled;
  48. }
  49. public function setMessageRetentionPeriod($messageRetentionPeriod)
  50. {
  51. $this->messageRetentionPeriod = $messageRetentionPeriod;
  52. }
  53. public function getMessageRetentionPeriod()
  54. {
  55. return $this->messageRetentionPeriod;
  56. }
  57. public function getTopicName()
  58. {
  59. return $this->topicName;
  60. }
  61. public function getCreateTime()
  62. {
  63. return $this->createTime;
  64. }
  65. public function getLastModifyTime()
  66. {
  67. return $this->lastModifyTime;
  68. }
  69. public function writeXML(\XMLWriter $xmlWriter)
  70. {
  71. if ($this->maximumMessageSize != NULL)
  72. {
  73. $xmlWriter->writeElement(Constants::MAXIMUM_MESSAGE_SIZE, $this->maximumMessageSize);
  74. }
  75. if ($this->messageRetentionPeriod != NULL)
  76. {
  77. $xmlWriter->writeElement(Constants::MESSAGE_RETENTION_PERIOD, $this->messageRetentionPeriod);
  78. }
  79. if ($this->loggingEnabled !== NULL)
  80. {
  81. $xmlWriter->writeElement(Constants::LOGGING_ENABLED, $this->loggingEnabled ? "True" : "False");
  82. }
  83. }
  84. static public function fromXML(\XMLReader $xmlReader)
  85. {
  86. $maximumMessageSize = NULL;
  87. $messageRetentionPeriod = NULL;
  88. $topicName = NULL;
  89. $createTime = NULL;
  90. $lastModifyTime = NULL;
  91. $loggingEnabled = NULL;
  92. while ($xmlReader->read())
  93. {
  94. if ($xmlReader->nodeType == \XMLReader::ELEMENT)
  95. {
  96. switch ($xmlReader->name) {
  97. case 'MaximumMessageSize':
  98. $xmlReader->read();
  99. if ($xmlReader->nodeType == \XMLReader::TEXT)
  100. {
  101. $maximumMessageSize = $xmlReader->value;
  102. }
  103. break;
  104. case 'MessageRetentionPeriod':
  105. $xmlReader->read();
  106. if ($xmlReader->nodeType == \XMLReader::TEXT)
  107. {
  108. $messageRetentionPeriod = $xmlReader->value;
  109. }
  110. break;
  111. case 'TopicName':
  112. $xmlReader->read();
  113. if ($xmlReader->nodeType == \XMLReader::TEXT)
  114. {
  115. $topicName = $xmlReader->value;
  116. }
  117. break;
  118. case 'CreateTime':
  119. $xmlReader->read();
  120. if ($xmlReader->nodeType == \XMLReader::TEXT)
  121. {
  122. $createTime = $xmlReader->value;
  123. }
  124. break;
  125. case 'LastModifyTime':
  126. $xmlReader->read();
  127. if ($xmlReader->nodeType == \XMLReader::TEXT)
  128. {
  129. $lastModifyTime = $xmlReader->value;
  130. }
  131. break;
  132. case 'LoggingEnabled':
  133. $xmlReader->read();
  134. if ($xmlReader->nodeType == \XMLReader::TEXT)
  135. {
  136. $loggingEnabled = $xmlReader->value;
  137. if ($loggingEnabled == "True")
  138. {
  139. $loggingEnabled = True;
  140. }
  141. else
  142. {
  143. $loggingEnabled = False;
  144. }
  145. }
  146. break;
  147. }
  148. }
  149. }
  150. $attributes = new TopicAttributes(
  151. $maximumMessageSize,
  152. $messageRetentionPeriod,
  153. $topicName,
  154. $createTime,
  155. $lastModifyTime,
  156. $loggingEnabled);
  157. return $attributes;
  158. }
  159. }
  160. ?>