You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
5.1 KiB
180 lines
5.1 KiB
4 years ago
|
<?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;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
?>
|