00001 <?php 00002 /*************************************************************************** 00003 * Copyright (C) 2009 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 00012 final class StandardComparator extends Singleton 00013 implements Comparator, Instantiatable 00014 { 00015 private $cmpFunction = 'strcmp'; 00016 00017 public static function me() 00018 { 00019 return Singleton::getInstance(__CLASS__); 00020 } 00021 00022 public function setCmpFunction($name) 00023 { 00024 $this->cmpFunction = $name; 00025 00026 return $this; 00027 } 00028 00029 public function compare($one, $two) 00030 { 00031 $cmpFunc = $this->cmpFunction; 00032 00033 return $cmpFunc($one, $two); 00034 } 00035 } 00036 ?>