00001 <?php 00002 /*************************************************************************** 00003 * Copyright (C) 2006-2007 by Nickolay G. Korolyov * 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 FloatType extends IntegerType 00016 { 00017 protected $precision = 0; 00018 00019 public function getPrimitiveName() 00020 { 00021 return 'float'; 00022 } 00023 00028 public function setDefault($default) 00029 { 00030 Assert::isFloat( 00031 $default, 00032 "strange default value given - '{$default}'" 00033 ); 00034 00035 $this->default = $default; 00036 00037 return $this; 00038 } 00039 00043 public function setPrecision($precision) 00044 { 00045 $this->precision = $precision; 00046 00047 return $this; 00048 } 00049 00050 public function getPrecision() 00051 { 00052 return $this->precision; 00053 } 00054 00055 public function isMeasurable() 00056 { 00057 return true; 00058 } 00059 00060 public function toColumnType() 00061 { 00062 return 'DataType::create(DataType::REAL)'; 00063 } 00064 } 00065 ?>