| | <?php |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | namespace Eluceo\iCal; |
| |
|
| | use Eluceo\iCal\Property\ArrayValue; |
| | use Eluceo\iCal\Property\StringValue; |
| | use Eluceo\iCal\Property\ValueInterface; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | class Property |
| | { |
| | |
| | |
| | |
| | |
| | |
| | protected $value; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | protected $parameterBag; |
| |
|
| | |
| | |
| | |
| | protected $name; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | public function __construct($name, $value, $params = []) |
| | { |
| | $this->name = $name; |
| | $this->setValue($value); |
| | $this->parameterBag = new ParameterBag($params); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | public function toLine() |
| | { |
| | |
| | $line = $this->getName(); |
| |
|
| | |
| | |
| | if ($this->parameterBag && $this->parameterBag->hasParams()) { |
| | $line .= ';' . $this->parameterBag->toString(); |
| | } |
| |
|
| | |
| | $line .= ':' . $this->value->getEscapedValue(); |
| |
|
| | return $line; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | public function toLines() |
| | { |
| | return [$this->toLine()]; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function setParam($name, $value) |
| | { |
| | $this->parameterBag->setParam($name, $value); |
| |
|
| | return $this; |
| | } |
| |
|
| | |
| | |
| | |
| | public function getParam($name) |
| | { |
| | return $this->parameterBag->getParam($name); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function setValue($value) |
| | { |
| | if (is_scalar($value)) { |
| | $this->value = new StringValue($value); |
| | } elseif (is_array($value)) { |
| | $this->value = new ArrayValue($value); |
| | } else { |
| | if (!$value instanceof ValueInterface) { |
| | throw new \Exception('The value must implement the ValueInterface.'); |
| | } else { |
| | $this->value = $value; |
| | } |
| | } |
| |
|
| | return $this; |
| | } |
| |
|
| | |
| | |
| | |
| | public function getValue() |
| | { |
| | return $this->value; |
| | } |
| |
|
| | public function getName(): string |
| | { |
| | return $this->name; |
| | } |
| | } |
| |
|