CropFilter.class.php

Go to the documentation of this file.
00001 <?php
00002 /***************************************************************************
00003  *   Copyright (C) 2007 by Denis M. Gabaidulin                             *
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: CropFilter.class.php 4687 2007-12-09 18:57:18Z voxus $ */
00012 
00018     final class CropFilter implements Filtrator
00019     {
00020         private $start  = 0;
00021         private $length = 0;
00022         
00026         public static function create()
00027         {
00028             return new self;
00029         }
00030         
00034         public function setStart($start)
00035         {
00036             Assert::isPositiveInteger($start);
00037             
00038             $this->start = $start;
00039             
00040             return $this;
00041         }
00042         
00046         public function setLength($length)
00047         {
00048             Assert::isPositiveInteger($length);
00049             
00050             $this->length = $length;
00051             
00052             return $this;
00053         }
00054         
00055         public function apply($value)
00056         {
00057             return
00058                 $this->length
00059                     ? mb_strcut($value, $this->start, $this->length)
00060                     : mb_strcut($value, $this->start);
00061         }
00062     }
00063 ?>

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