/**
  * @param CreateQueue $req
  * @throws ParameterException
  */
 public static function validate($req)
 {
     parent::validate($req);
     self::validateNumber($req->getMaximumMessageSize());
     self::validateNumber($req->getDelaySeconds());
     self::validateNumber($req->getPollingWaitSeconds());
     self::validateNumber($req->getMessageRetentionPeriod());
     self::validateNumber($req->getVisibilityTimeout());
     if (($t = $req->getVisibilityTimeout()) != -1 && $t <= 0) {
         throw new ParameterException('QueueAttrInvalid', sprintf('Bad value: "%d", visibility timeout should larger than 0.', $t));
     }
     if (($t = $req->getMaximumMessageSize()) != -1 && $t <= 0) {
         throw new ParameterException('QueueAttrInvalid', sprintf('Bad value: "%d", maximum message size should larger than 0.', $t));
     }
     if (($t = $req->getMessageRetentionPeriod()) != -1 && $t <= 0) {
         throw new ParameterException('QueueAttrInvalid', sprintf('Bad value: "%d", message retention period should larger than 0.', $t));
     }
     if (($t = $req->getDelaySeconds()) != -1 && $t < 0) {
         throw new ParameterException('QueueAttrInvalid', sprintf('Bad value: "%d", delay seconds should larger than 0.', $t));
     }
     if (($t = $req->getPollingWaitSeconds()) != -1 && $t < 0) {
         throw new ParameterException('QueueAttrInvalid', sprintf('Bad value: "%d", polling wait seconds should larger than 0.', $t));
     }
 }
 /**
  * @param ListQueue $req
  * @throws \Mqs\Exceptions\ParameterException
  */
 public static function validate($req)
 {
     parent::validate($req);
     self::listConditionValidate($req);
 }
 /**
  * @param GetQueueAttributes $req
  * @throws \Mqs\Exceptions\ParameterException
  */
 public static function validate($req)
 {
     parent::validate($req);
     self::queueNameValidate($req->getQueueName());
 }