KeyDef.php

Go to the documentation of this file.
00001 <?php 00002 00003 /* 00004 * $Id: KeyDef.php,v 1.3 2004/03/20 04:16:51 hlellelid Exp $ 00005 * 00006 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00007 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00008 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00009 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00010 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00011 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00012 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00013 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00014 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00015 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00016 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00017 * 00018 * This software consists of voluntary contributions made by many individuals 00019 * and is licensed under the LGPL. For more information please see 00020 * <http://creole.phpdb.org>. 00021 * 00022 * This product includes software based on the Village framework, 00023 * http://share.whichever.com/index.php?SCREEN=village. 00024 */ 00025 00060 class KeyDef { 00061 00063 private $cols; 00064 00066 private $size; 00067 00078 public function __construct() 00079 { 00080 $this->cols = func_get_args(); 00081 $this->size = count($this->cols); 00082 } 00083 00089 public function addAttrib($name) 00090 { 00091 $this->cols[] = $name; 00092 $this->size++; 00093 return $this; 00094 } 00095 00101 public function containsAttrib($name) 00102 { 00103 return in_array($name, $this->cols, true); 00104 } 00105 00111 public function getAttrib($pos) 00112 { 00113 if ($pos === 0) $pos = 1; 00114 return @$this->cols[$pos - 1]; 00115 } 00116 00122 public function size() 00123 { 00124 return $this->size; 00125 } 00126 00127 }

This file is part of the Creole[php5] library.


Copyright © 2004 Hans Lellelid  
Creole[php5] CVS