Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/** $Id: Access.php 7490 2010-03-29 19:53:27Z jwage $** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT* OWNER OR 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.** This software consists of voluntary contributions made by many individuals* and is licensed under the LGPL. For more information, see* <http://www.doctrine-project.org>.*//*** Provides array access and property overload interface for Doctrine subclasses** @package Doctrine* @subpackage Access* @license http://www.opensource.org/licenses/lgpl-license.php LGPL* @link www.doctrine-project.org* @since 1.0* @version $Revision: 7490 $* @author Konsta Vesterinen <kvesteri@cc.hut.fi>*/abstract class Doctrine_Access extends Doctrine_Locator_Injectable implements ArrayAccess{/*** Set an entire aray to the data** @param array $array An array of key => value pairs* @return Doctrine_Access*/public function setArray(array $array){foreach ($array as $k => $v) {$this->set($k, $v);}return $this;}/*** Set key and value to data** @see set, offsetSet* @param $name* @param $value* @return void*/public function __set($name, $value){$this->set($name, $value);}/*** Get key from data** @see get, offsetGet* @param mixed $name* @return mixed*/public function __get($name){return $this->get($name);}/*** Check if key exists in data** @param string $name* @return boolean whether or not this object contains $name*/public function __isset($name){return $this->contains($name);}/*** Remove key from data** @param string $name* @return void*/public function __unset($name){return $this->remove($name);}/*** Check if an offset axists** @param mixed $offset* @return boolean Whether or not this object contains $offset*/public function offsetExists($offset){return $this->contains($offset);}/*** An alias of get()** @see get, __get* @param mixed $offset* @return mixed*/public function offsetGet($offset){return $this->get($offset);}/*** Sets $offset to $value** @see set, __set* @param mixed $offset* @param mixed $value* @return void*/public function offsetSet($offset, $value){if ( ! isset($offset)) {$this->add($value);} else {$this->set($offset, $value);}}/*** Unset a given offset** @see set, offsetSet, __set* @param mixed $offset*/public function offsetUnset($offset){return $this->remove($offset);}/*** Remove the element with the specified offset** @param mixed $offset The offset to remove* @return boolean True if removed otherwise false*/public function remove($offset){throw new Doctrine_Exception('Remove is not supported for ' . get_class($this));}/*** Return the element with the specified offset** @param mixed $offset The offset to return* @return mixed*/public function get($offset){throw new Doctrine_Exception('Get is not supported for ' . get_class($this));}/*** Set the offset to the value** @param mixed $offset The offset to set* @param mixed $value The value to set the offset to**/public function set($offset, $value){throw new Doctrine_Exception('Set is not supported for ' . get_class($this));}/*** Check if the specified offset exists** @param mixed $offset The offset to check* @return boolean True if exists otherwise false*/public function contains($offset){throw new Doctrine_Exception('Contains is not supported for ' . get_class($this));}/*** Add the value** @param mixed $value The value to add* @return void*/public function add($value){throw new Doctrine_Exception('Add is not supported for ' . get_class($this));}}