Skip to content

Sabre VObject Property

Evert Pot edited this page Sep 1, 2014 · 5 revisions

Sabre\VObject\Property

Property

A property is always in a KEY:VALUE structure, and may optionally contain parameters.

  • Class name: Property
  • Namespace: Sabre\VObject
  • This is an abstract class
  • Parent class: Sabre\VObject\Node

Constants

REPAIR

const REPAIR = 1

Properties

$name

public string $name

Property name.

This will contain a string such as DTSTART, SUMMARY, FN.

  • Visibility: public

$group

public string $group

Property group.

This is only used in vcards

  • Visibility: public

$parameters

public array $parameters = array()

List of parameters

  • Visibility: public

$value

protected mixed $value

Current value

  • Visibility: protected

$delimiter

public string $delimiter = ';'

In case this is a multi-value property. This string will be used as a delimiter.

  • Visibility: public

$parent

public \Sabre\VObject\Node $parent

Reference to the parent object, if this is not the top object.

  • Visibility: public

$iterator

protected \Sabre\VObject\ElementList $iterator = null

Iterator override

  • Visibility: protected

$root

protected \Sabre\VObject\Component $root

The root document

  • Visibility: protected

Methods

__construct

void Sabre\VObject\Property::__construct(\Sabre\VObject\Component $root, string $name, string|array|null $value, array $parameters, string $group)

Creates the generic property.

Parameters must be specified in key=>value syntax.

  • Visibility: public

Arguments

  • $root Sabre\VObject\Component - <p>The root document</p>
  • $name string
  • $value string|array|null
  • $parameters array - <p>List of parameters</p>
  • $group string - <p>The vcard property group</p>

setValue

void Sabre\VObject\Property::setValue(string|array $value)

Updates the current value.

This may be either a single, or multiple strings in an array.

  • Visibility: public

Arguments

  • $value string|array

getValue

string Sabre\VObject\Property::getValue()

Returns the current value.

This method will always return a singular value. If this was a multi-value object, some decision will be made first on how to represent it as a string.

To get the correct multi-value version, use getParts.

  • Visibility: public

setParts

void Sabre\VObject\Property::setParts(array $parts)

Sets a multi-valued property.

  • Visibility: public

Arguments

  • $parts array

getParts

array Sabre\VObject\Property::getParts()

Returns a multi-valued property.

This method always returns an array, if there was only a single value, it will still be wrapped in an array.

  • Visibility: public

add

\Sabre\VObject\Node Sabre\VObject\Property::add(string $name, string|null|array $value)

Adds a new parameter, and returns the new item.

If a parameter with same name already existed, the values will be combined. If nameless parameter is added, we try to guess it's name.

  • Visibility: public

Arguments

  • $name string
  • $value string|null|array

parameters

array Sabre\VObject\Property::parameters()

Returns an iterable list of children

  • Visibility: public

getValueType

string Sabre\VObject\Property::getValueType()

Returns the type of value.

This corresponds to the VALUE= parameter. Every property also has a 'default' valueType.

  • Visibility: public
  • This method is abstract.

setRawMimeDirValue

void Sabre\VObject\Property::setRawMimeDirValue(string $val)

Sets a raw value coming from a mimedir (iCalendar/vCard) file.

This has been 'unfolded', so only 1 line will be passed. Unescaping is not yet done, but parameters are not included.

  • Visibility: public
  • This method is abstract.

Arguments

  • $val string

getRawMimeDirValue

string Sabre\VObject\Property::getRawMimeDirValue()

Returns a raw mime-dir representation of the value.

  • Visibility: public
  • This method is abstract.

serialize

string Sabre\VObject\Node::serialize()

Serializes the node into a mimedir format

  • Visibility: public
  • This method is abstract.
  • This method is defined by Sabre\VObject\Node

getJsonValue

array Sabre\VObject\Property::getJsonValue()

Returns the value, in the format it should be encoded for json.

This method must always return an array.

  • Visibility: public

setJsonValue

void Sabre\VObject\Property::setJsonValue(array $value)

Sets the json value, as it would appear in a jCard or jCal object.

The value must always be an array.

  • Visibility: public

Arguments

  • $value array

jsonSerialize

array Sabre\VObject\Node::jsonSerialize()

This method returns an array, with the representation as it should be encoded in json. This is used to create jCard or jCal documents.

  • Visibility: public
  • This method is abstract.
  • This method is defined by Sabre\VObject\Node

__toString

string Sabre\VObject\Property::__toString()

Called when this object is being cast to a string.

If the property only had a single value, you will get just that. In the case the property had multiple values, the contents will be escaped and combined with ,.

  • Visibility: public

offsetExists

boolean Sabre\VObject\Node::offsetExists(integer $offset)

Checks if an item exists through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset integer

offsetGet

mixed Sabre\VObject\Node::offsetGet(integer $offset)

Gets an item through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset integer

offsetSet

void Sabre\VObject\Node::offsetSet(integer $offset, mixed $value)

Sets an item through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset integer
  • $value mixed

offsetUnset

void Sabre\VObject\Node::offsetUnset(integer $offset)

Sets an item through ArrayAccess.

This method just forwards the request to the inner iterator

Arguments

  • $offset integer

__clone

void Sabre\VObject\Property::__clone()

This method is automatically called when the object is cloned.

Specifically, this will ensure all child elements are also cloned.

  • Visibility: public

validate

array Sabre\VObject\Node::validate(integer $options)

Validates the node for correctness.

The following options are supported: Node::REPAIR - May attempt to automatically repair the problem.

This method returns an array with detected problems. Every element has the following properties:

  • level - problem level.
  • message - A human-readable string describing the issue.
  • node - A reference to the problematic node.

The level means: 1 - The issue was repaired (only happens if REPAIR was turned on) 2 - An inconsequential issue 3 - A severe issue.

Arguments

  • $options integer

getIterator

\Sabre\VObject\ElementList Sabre\VObject\Node::getIterator()

Returns the iterator for this object

setIterator

void Sabre\VObject\Node::setIterator(\Sabre\VObject\ElementList $iterator)

Sets the overridden iterator

Note that this is not actually part of the iterator interface

Arguments

count

integer Sabre\VObject\Node::count()

Returns the number of elements

Clone this wiki locally