DirectoryMutator.class.php

Go to the documentation of this file.
00001 <?php
00002 /***************************************************************************
00003  *   Copyright (C) 2009 by Ivan Y. Khvostishkov                            *
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     abstract class DirectoryMutator extends PrototypedSetter
00013     {
00014         private $getter = null;
00015         
00016         public function __construct(EntityProto $proto, &$object)
00017         {
00018             Assert::isTrue(
00019                 is_dir($object) && is_writable($object),
00020                 'object must be a writeble directory'
00021             );
00022             
00023             return parent::__construct($proto, $object);
00024         }
00025         
00029         public function getGetter()
00030         {
00031             if (!$this->getter) {
00032                 $this->getter = new DirectoryGetter($this->proto, $this->object);
00033             }
00034             
00035             return $this->getter;
00036         }
00037     }
00038 ?>