moodle/lib/php-css-parser/Property/CSSNamespace.php
Frederic Massart fbe18cc022 MDL-55224 core: Import PHP-CSS-Parser into core
Part of MDL-55071
2016-09-23 10:49:49 +01:00

75 lines
1.5 KiB
PHP

<?php
namespace Sabberworm\CSS\Property;
/**
* CSSNamespace represents an @namespace rule.
*/
class CSSNamespace implements AtRule {
private $mUrl;
private $sPrefix;
private $iLineNo;
protected $aComments;
public function __construct($mUrl, $sPrefix = null, $iLineNo = 0) {
$this->mUrl = $mUrl;
$this->sPrefix = $sPrefix;
$this->iLineNo = $iLineNo;
$this->aComments = array();
}
/**
* @return int
*/
public function getLineNo() {
return $this->iLineNo;
}
public function __toString() {
return $this->render(new \Sabberworm\CSS\OutputFormat());
}
public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
return '@namespace '.($this->sPrefix === null ? '' : $this->sPrefix.' ').$this->mUrl->render($oOutputFormat).';';
}
public function getUrl() {
return $this->mUrl;
}
public function getPrefix() {
return $this->sPrefix;
}
public function setUrl($mUrl) {
$this->mUrl = $mUrl;
}
public function setPrefix($sPrefix) {
$this->sPrefix = $sPrefix;
}
public function atRuleName() {
return 'namespace';
}
public function atRuleArgs() {
$aResult = array($this->mUrl);
if($this->sPrefix) {
array_unshift($aResult, $this->sPrefix);
}
return $aResult;
}
public function addComments(array $aComments) {
$this->aComments = array_merge($this->aComments, $aComments);
}
public function getComments() {
return $this->aComments;
}
public function setComments(array $aComments) {
$this->aComments = $aComments;
}
}