No Description

QueueAttributes.php 9.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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 QueueAttributes
  10. {
  11. private $delaySeconds;
  12. private $maximumMessageSize;
  13. private $messageRetentionPeriod;
  14. private $visibilityTimeout;
  15. private $pollingWaitSeconds;
  16. private $LoggingEnabled;
  17. # the following attributes cannot be changed
  18. private $queueName;
  19. private $createTime;
  20. private $lastModifyTime;
  21. private $activeMessages;
  22. private $inactiveMessages;
  23. private $delayMessages;
  24. public function __construct(
  25. $delaySeconds = NULL,
  26. $maximumMessageSize = NULL,
  27. $messageRetentionPeriod = NULL,
  28. $visibilityTimeout = NULL,
  29. $pollingWaitSeconds = NULL,
  30. $queueName = NULL,
  31. $createTime = NULL,
  32. $lastModifyTime = NULL,
  33. $activeMessages = NULL,
  34. $inactiveMessages = NULL,
  35. $delayMessages = NULL,
  36. $LoggingEnabled = NULL)
  37. {
  38. $this->delaySeconds = $delaySeconds;
  39. $this->maximumMessageSize = $maximumMessageSize;
  40. $this->messageRetentionPeriod = $messageRetentionPeriod;
  41. $this->visibilityTimeout = $visibilityTimeout;
  42. $this->pollingWaitSeconds = $pollingWaitSeconds;
  43. $this->loggingEnabled = $LoggingEnabled;
  44. $this->queueName = $queueName;
  45. $this->createTime = $createTime;
  46. $this->lastModifyTime = $lastModifyTime;
  47. $this->activeMessages = $activeMessages;
  48. $this->inactiveMessages = $inactiveMessages;
  49. $this->delayMessages = $delayMessages;
  50. }
  51. public function setDelaySeconds($delaySeconds)
  52. {
  53. $this->delaySeconds = $delaySeconds;
  54. }
  55. public function getDelaySeconds()
  56. {
  57. return $this->delaySeconds;
  58. }
  59. public function setLoggingEnabled($loggingEnabled)
  60. {
  61. $this->loggingEnabled = $loggingEnabled;
  62. }
  63. public function getLoggingEnabled()
  64. {
  65. return $this->loggingEnabled;
  66. }
  67. public function setMaximumMessageSize($maximumMessageSize)
  68. {
  69. $this->maximumMessageSize = $maximumMessageSize;
  70. }
  71. public function getMaximumMessageSize()
  72. {
  73. return $this->maximumMessageSize;
  74. }
  75. public function setMessageRetentionPeriod($messageRetentionPeriod)
  76. {
  77. $this->messageRetentionPeriod = $messageRetentionPeriod;
  78. }
  79. public function getMessageRetentionPeriod()
  80. {
  81. return $this->messageRetentionPeriod;
  82. }
  83. public function setVisibilityTimeout($visibilityTimeout)
  84. {
  85. $this->visibilityTimeout = $visibilityTimeout;
  86. }
  87. public function getVisibilityTimeout()
  88. {
  89. return $this->visibilityTimeout;
  90. }
  91. public function setPollingWaitSeconds($pollingWaitSeconds)
  92. {
  93. $this->pollingWaitSeconds = $pollingWaitSeconds;
  94. }
  95. public function getPollingWaitSeconds()
  96. {
  97. return $this->pollingWaitSeconds;
  98. }
  99. public function getQueueName()
  100. {
  101. return $this->queueName;
  102. }
  103. public function getCreateTime()
  104. {
  105. return $this->createTime;
  106. }
  107. public function getLastModifyTime()
  108. {
  109. return $this->lastModifyTime;
  110. }
  111. public function getActiveMessages()
  112. {
  113. return $this->activeMessages;
  114. }
  115. public function getInactiveMessages()
  116. {
  117. return $this->inactiveMessages;
  118. }
  119. public function getDelayMessages()
  120. {
  121. return $this->delayMessages;
  122. }
  123. public function writeXML(\XMLWriter $xmlWriter)
  124. {
  125. if ($this->delaySeconds != NULL)
  126. {
  127. $xmlWriter->writeElement(Constants::DELAY_SECONDS, $this->delaySeconds);
  128. }
  129. if ($this->maximumMessageSize != NULL)
  130. {
  131. $xmlWriter->writeElement(Constants::MAXIMUM_MESSAGE_SIZE, $this->maximumMessageSize);
  132. }
  133. if ($this->messageRetentionPeriod != NULL)
  134. {
  135. $xmlWriter->writeElement(Constants::MESSAGE_RETENTION_PERIOD, $this->messageRetentionPeriod);
  136. }
  137. if ($this->visibilityTimeout != NULL)
  138. {
  139. $xmlWriter->writeElement(Constants::VISIBILITY_TIMEOUT, $this->visibilityTimeout);
  140. }
  141. if ($this->pollingWaitSeconds != NULL)
  142. {
  143. $xmlWriter->writeElement(Constants::POLLING_WAIT_SECONDS, $this->pollingWaitSeconds);
  144. }
  145. if ($this->loggingEnabled !== NULL)
  146. {
  147. $xmlWriter->writeElement(Constants::LOGGING_ENABLED, $this->loggingEnabled ? "True" : "False");
  148. }
  149. }
  150. static public function fromXML(\XMLReader $xmlReader)
  151. {
  152. $delaySeconds = NULL;
  153. $maximumMessageSize = NULL;
  154. $messageRetentionPeriod = NULL;
  155. $visibilityTimeout = NULL;
  156. $pollingWaitSeconds = NULL;
  157. $queueName = NULL;
  158. $createTime = NULL;
  159. $lastModifyTime = NULL;
  160. $activeMessages = NULL;
  161. $inactiveMessages = NULL;
  162. $delayMessages = NULL;
  163. $loggingEnabled = NULL;
  164. while ($xmlReader->read())
  165. {
  166. if ($xmlReader->nodeType == \XMLReader::ELEMENT)
  167. {
  168. switch ($xmlReader->name) {
  169. case 'DelaySeconds':
  170. $xmlReader->read();
  171. if ($xmlReader->nodeType == \XMLReader::TEXT)
  172. {
  173. $delaySeconds = $xmlReader->value;
  174. }
  175. break;
  176. case 'MaximumMessageSize':
  177. $xmlReader->read();
  178. if ($xmlReader->nodeType == \XMLReader::TEXT)
  179. {
  180. $maximumMessageSize = $xmlReader->value;
  181. }
  182. break;
  183. case 'MessageRetentionPeriod':
  184. $xmlReader->read();
  185. if ($xmlReader->nodeType == \XMLReader::TEXT)
  186. {
  187. $messageRetentionPeriod = $xmlReader->value;
  188. }
  189. break;
  190. case 'VisibilityTimeout':
  191. $xmlReader->read();
  192. if ($xmlReader->nodeType == \XMLReader::TEXT)
  193. {
  194. $visibilityTimeout = $xmlReader->value;
  195. }
  196. break;
  197. case 'PollingWaitSeconds':
  198. $xmlReader->read();
  199. if ($xmlReader->nodeType == \XMLReader::TEXT)
  200. {
  201. $pollingWaitSeconds = $xmlReader->value;
  202. }
  203. break;
  204. case 'QueueName':
  205. $xmlReader->read();
  206. if ($xmlReader->nodeType == \XMLReader::TEXT)
  207. {
  208. $queueName = $xmlReader->value;
  209. }
  210. break;
  211. case 'CreateTime':
  212. $xmlReader->read();
  213. if ($xmlReader->nodeType == \XMLReader::TEXT)
  214. {
  215. $createTime = $xmlReader->value;
  216. }
  217. break;
  218. case 'LastModifyTime':
  219. $xmlReader->read();
  220. if ($xmlReader->nodeType == \XMLReader::TEXT)
  221. {
  222. $lastModifyTime = $xmlReader->value;
  223. }
  224. break;
  225. case 'ActiveMessages':
  226. $xmlReader->read();
  227. if ($xmlReader->nodeType == \XMLReader::TEXT)
  228. {
  229. $activeMessages = $xmlReader->value;
  230. }
  231. break;
  232. case 'InactiveMessages':
  233. $xmlReader->read();
  234. if ($xmlReader->nodeType == \XMLReader::TEXT)
  235. {
  236. $inactiveMessages = $xmlReader->value;
  237. }
  238. break;
  239. case 'DelayMessages':
  240. $xmlReader->read();
  241. if ($xmlReader->nodeType == \XMLReader::TEXT)
  242. {
  243. $delayMessages = $xmlReader->value;
  244. }
  245. break;
  246. case 'LoggingEnabled':
  247. $xmlReader->read();
  248. if ($xmlReader->nodeType == \XMLReader::TEXT)
  249. {
  250. $loggingEnabled = $xmlReader->value;
  251. if ($loggingEnabled == "True")
  252. {
  253. $loggingEnabled = True;
  254. }
  255. else
  256. {
  257. $loggingEnabled = False;
  258. }
  259. }
  260. break;
  261. }
  262. }
  263. }
  264. $attributes = new QueueAttributes(
  265. $delaySeconds,
  266. $maximumMessageSize,
  267. $messageRetentionPeriod,
  268. $visibilityTimeout,
  269. $pollingWaitSeconds,
  270. $queueName,
  271. $createTime,
  272. $lastModifyTime,
  273. $activeMessages,
  274. $inactiveMessages,
  275. $delayMessages,
  276. $loggingEnabled);
  277. return $attributes;
  278. }
  279. }
  280. ?>