00001 <?php 00002 /*************************************************************************** 00003 * Copyright (C) 2006-2008 by Konstantin V. Arkhipov * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Lesser General Public License as * 00007 * published by the Free Software Foundation; either version 3 of the * 00008 * License, or (at your option) any later version. * 00009 * * 00010 ***************************************************************************/ 00011 00015 class IntegerType extends BasePropertyType 00016 { 00017 public function getSize() 00018 { 00019 return 4; 00020 } 00021 00022 public function getPrimitiveName() 00023 { 00024 return 'integer'; 00025 } 00026 00031 public function setDefault($default) 00032 { 00033 Assert::isInteger( 00034 $default, 00035 "strange default value given - '{$default}'" 00036 ); 00037 00038 $this->default = $default; 00039 00040 return $this; 00041 } 00042 00043 public function getDeclaration() 00044 { 00045 if ($this->hasDefault()) 00046 return $this->default; 00047 00048 return 'null'; 00049 } 00050 00051 public function isMeasurable() 00052 { 00053 return false; 00054 } 00055 00056 public function toColumnType() 00057 { 00058 return 'DataType::create(DataType::INTEGER)'; 00059 } 00060 } 00061 ?>