ILIAS  Release_4_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

Detailed Description

Generic property list implementation.

Definition at line 6 of file PropertyList.php.

Constructor & Destructor Documentation

HTMLPurifier_PropertyList::__construct (   $parent = null)

Definition at line 20 of file PropertyList.php.

References $parent.

{
$this->parent = $parent;
}

Member Function Documentation

HTMLPurifier_PropertyList::get (   $name)

Recursively retrieves the value for a key.

Definition at line 27 of file PropertyList.php.

References $name, and 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.

Definition at line 74 of file PropertyList.php.

References $parent.

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

Returns true if a given key exists.

Definition at line 44 of file PropertyList.php.

References $name.

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.

Definition at line 52 of file PropertyList.php.

References $name.

{
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.

Definition at line 37 of file PropertyList.php.

References $name.

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

Sets the parent plist.

Definition at line 81 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
$forceIf true, ignores the cache and regenerates the array.

Definition at line 62 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

Definition at line 18 of file PropertyList.php.

Referenced by squash().

HTMLPurifier_PropertyList::$data = array()
protected

Internal data-structure for properties.

Definition at line 11 of file PropertyList.php.

Referenced by squash().

HTMLPurifier_PropertyList::$parent
protected

Parent plist.

Definition at line 16 of file PropertyList.php.

Referenced by __construct(), and getParent().


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