home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / phing / system / io / Writer.php < prev   
Encoding:
PHP Script  |  2007-08-28  |  1.7 KB  |  54 lines

  1. <?php
  2. /*
  3.  *  $Id: Writer.php 227 2007-08-28 02:17:00Z hans $
  4.  *
  5.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  6.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  7.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  8.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  9.  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  10.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  11.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  12.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  13.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  14.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  15.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  16.  *
  17.  * This software consists of voluntary contributions made by many individuals
  18.  * and is licensed under the LGPL. For more information please see
  19.  * <http://phing.info>. 
  20.  */
  21.  
  22. /**
  23.  * Abstract class for writing character streams.
  24.  * 
  25.  * @package   phing.system.io
  26.  */
  27. abstract class Writer {
  28.     
  29.     /**
  30.      * Writes data to output stream.
  31.      * @param string $buf
  32.      * @param int $off
  33.      * @param int $len
  34.      */
  35.     abstract public function write($buf, $off = null, $len = null);
  36.     
  37.     /**
  38.      * Close the stream.
  39.      * @throws IOException - if there is an error closing stream.
  40.      */
  41.     abstract public function close();
  42.     
  43.     /**
  44.      * Flush the stream, if supported by the stream.
  45.      */
  46.     public function flush() {}
  47.     
  48.     /**
  49.      * Returns a string representation of resource filename, url, etc. that is being written to.
  50.      * @return string
  51.      */    
  52.     abstract public function getResource();
  53. }
  54.