StringType.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: StringType.class.php 4687 2007-12-09 18:57:18Z voxus $ */
00012 
00016     class StringType extends BasePropertyType
00017     {
00022         public function setDefault($default)
00023         {
00024             Assert::isString(
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 true;
00045         }
00046         
00047         public function toColumnType($length = null)
00048         {
00049             return
00050                 $length
00051                     ? 'DataType::create(DataType::VARCHAR)'
00052                     : 'DataType::create(DataType::TEXT)';
00053         }
00054         
00055         public function toPrimitive()
00056         {
00057             return 'Primitive::string';
00058         }
00059         
00060         public function toXsdType()
00061         {
00062             return 'xsd:string';
00063         }
00064     }
00065 ?>

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