# 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 ?>