IntegerType.class.php

Go to the documentation of this file.
00001 <?php
00002 /***************************************************************************
00003  *   Copyright (C) 2006-2007 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 /* $Id: IntegerType.class.php 4687 2007-12-09 18:57:18Z voxus $ */
00012 
00016     class IntegerType extends BasePropertyType
00017     {
00022         public function setDefault($default)
00023         {
00024             Assert::isInteger(
00025                 $default,
00026                 "strange default value given - '{$default}'"
00027             );
00028 
00029             $this->default = $default;
00030             
00031             return $this;
00032         }
00033         
00034         public function getDeclaration()
00035         {
00036             if ($this->hasDefault())
00037                 return $this->default;
00038             
00039             return 'null';
00040         }
00041         
00042         public function isMeasurable()
00043         {
00044             return false;
00045         }
00046         
00047         public function toColumnType()
00048         {
00049             return 'DataType::create(DataType::INTEGER)';
00050         }
00051         
00052         public function toPrimitive()
00053         {
00054             return 'Primitive::integer';
00055         }
00056         
00057         public function toPrimitiveLimits()
00058         {
00059             return
00060                 'setMin(PrimitiveInteger::SIGNED_MIN)->'
00061                 ."\n"
00062                 .'setMax(PrimitiveInteger::SIGNED_MAX)';
00063         }
00064         
00065         public function toXsdType()
00066         {
00067             return 'xsd:int';
00068         }
00069     }
00070 ?>

Generated on Sun Dec 9 21:56:24 2007 for onPHP by  doxygen 1.5.4