Source for file Buffers.php
Documentation is available at Buffers.php
// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 fdm=marker encoding=utf8 :
* Pxxo - build self-supported and interoperable Web graphical components
* Copyright (c) 2008, Nicolas Thouvenin
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the author nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* @copyright Copyright (c) 2008 Nicolas Thouvenin
* @license http://opensource.org/licenses/bsd-license.php
* Classe permet de stocker des Objets Pxxo_Buffers
* @copyright Copyright (c) 2008 Nicolas Thouvenin
* @license http://opensource.org/licenses/bsd-license.php
* Contains array of configuration data
* Reprsentation trié de _data
* Test si l'objet est un objet de type Pxxo_Buffer
if (! $o instanceof
Pxxo) return false;
if (!isset
($o->scheme) or !isset
($o->uri)) return false;
* Recupere un Buffer particulier de la liste
if (isset
($this->_data[$i])) return $this->_data[$i];
* Magic function so that $obj->value will work.
public function __get($i)
$this->_sort[$i] =
$o->getWeight();
* Defined by Countable interface
* Defined by Iterator interface
return($this->_data[$k]);
* Defined by Iterator interface
* Defined by Iterator interface
* Defined by Iterator interface
foreach($this->_data as $k =>
$o) {
$this->_sort[$k] =
$o->getWeight();
* Defined by Iterator interface
* Merge une liste de Buffers avec la liste courante,
* les entrées en communs sont ignorés.
* @param Pxxo_Buffers $merge
public function merge(Pxxo_Buffers $merge)
foreach($merge as $key =>
$item) {
* Recherche le Buffer contenant une valeur
foreach($this->_data as $k =>
$v) if ($val ==
$v->get()) return $k;
* Concatene les Buffers ayant un type etendu identique
foreach($this->_data as $cle =>
$buf) {
$extyp =
$buf->getExtendedType();
if (!isset
($a[$extyp])) $a[$extyp] =
$buf;
unset
($this->_data[$cle]);
* N'en garder qu'un seul, supprime tout les autres...
foreach($this->_data as $k =>
$v) if ($k !=
$i) unset
($this->_data[$k]);
Documentation generated on Thu, 13 Mar 2008 22:03:11 +0100 by phpDocumentor 1.4.1