ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
HTMLPurifier_PropertyList Class Reference

Generic property list implementation. More...

+ Collaboration diagram for HTMLPurifier_PropertyList:

Public Member Functions

 __construct ($parent=null)
 get ($name)
 Recursively retrieves the value for a key.
 set ($name, $value)
 Sets the value of a key, for this plist.
 has ($name)
 Returns true if a given key exists.
 reset ($name=null)
 Resets a value to the value of it's parent, usually the default.
 squash ($force=false)
 Squashes this property list and all of its property lists into a single array, and returns the array.
 getParent ()
 Returns the parent plist.
 setParent ($plist)
 Sets the parent plist.

Protected Attributes

 $data = array()
 Internal data-structure for properties.
 $parent
 Parent plist.
 $cache
 Cache.

Detailed Description

Generic property list implementation.

Definition at line 6 of file PropertyList.php.

Constructor & Destructor Documentation

HTMLPurifier_PropertyList::__construct (   $parent = null)
Parameters
HTMLPurifier_PropertyList$parentParent plist

Definition at line 29 of file PropertyList.php.

References $parent.

{
$this->parent = $parent;
}

Member Function Documentation

HTMLPurifier_PropertyList::get (   $name)

Recursively retrieves the value for a key.

Parameters
string$name
Exceptions
HTMLPurifier_Exception

Definition at line 39 of file PropertyList.php.

References has().

{
if ($this->has($name)) {
return $this->data[$name];
}
// possible performance bottleneck, convert to iterative if necessary
if ($this->parent) {
return $this->parent->get($name);
}
throw new HTMLPurifier_Exception("Key '$name' not found");
}

+ Here is the call graph for this function:

HTMLPurifier_PropertyList::getParent ( )

Returns the parent plist.

Returns
HTMLPurifier_PropertyList

Definition at line 107 of file PropertyList.php.

References $parent.

{
return $this->parent;
}
HTMLPurifier_PropertyList::has (   $name)

Returns true if a given key exists.

Parameters
string$name
Returns
bool

Definition at line 66 of file PropertyList.php.

Referenced by get().

{
return array_key_exists($name, $this->data);
}

+ Here is the caller graph for this function:

HTMLPurifier_PropertyList::reset (   $name = null)

Resets a value to the value of it's parent, usually the default.

If no value is specified, the entire plist is reset.

Parameters
string$name

Definition at line 76 of file PropertyList.php.

{
if ($name == null) {
$this->data = array();
} else {
unset($this->data[$name]);
}
}
HTMLPurifier_PropertyList::set (   $name,
  $value 
)

Sets the value of a key, for this plist.

Parameters
string$name
mixed$value

Definition at line 56 of file PropertyList.php.

{
$this->data[$name] = $value;
}
HTMLPurifier_PropertyList::setParent (   $plist)

Sets the parent plist.

Parameters
HTMLPurifier_PropertyList$plistParent plist

Definition at line 116 of file PropertyList.php.

{
$this->parent = $plist;
}
HTMLPurifier_PropertyList::squash (   $force = false)

Squashes this property list and all of its property lists into a single array, and returns the array.

This value is cached by default.

Parameters
bool$forceIf true, ignores the cache and regenerates the array.
Returns
array

Definition at line 91 of file PropertyList.php.

References $cache, and $data.

{
if ($this->cache !== null && !$force) {
return $this->cache;
}
if ($this->parent) {
return $this->cache = array_merge($this->parent->squash($force), $this->data);
} else {
return $this->cache = $this->data;
}
}

Field Documentation

HTMLPurifier_PropertyList::$cache
protected

Cache.

array

Definition at line 24 of file PropertyList.php.

Referenced by squash().

HTMLPurifier_PropertyList::$data = array()
protected

Internal data-structure for properties.

array

Definition at line 12 of file PropertyList.php.

Referenced by squash().

HTMLPurifier_PropertyList::$parent
protected

Parent plist.

HTMLPurifier_PropertyList

Definition at line 18 of file PropertyList.php.

Referenced by __construct(), and getParent().


The documentation for this class was generated from the following file: