From: Roland Haeder Date: Tue, 10 Mar 2015 00:40:30 +0000 (+0100) Subject: Renamed BaseFile to BaseAbstractFile to make it more clear that this class is X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=32fe31b8ec8dc8e7fefe7343e9be44fbb8f94895;p=core.git Renamed BaseFile to BaseAbstractFile to make it more clear that this class is an abstracted file and is not responsible for the actual I/O (which is done by the linked pointer instance). Signed-off-by: Roland Häder --- diff --git a/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php b/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php index 207f797d..678bf455 100644 --- a/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php +++ b/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class BaseBinaryFile extends BaseFile { +class BaseBinaryFile extends BaseAbstractFile { /** * Separator for header data */ diff --git a/inc/classes/main/file_directories/class_BaseAbstractFile.php b/inc/classes/main/file_directories/class_BaseAbstractFile.php new file mode 100644 index 00000000..ee91ef17 --- /dev/null +++ b/inc/classes/main/file_directories/class_BaseAbstractFile.php @@ -0,0 +1,198 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2014 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class BaseAbstractFile extends BaseFrameworkSystem { + /** + * Counter for total entries + */ + private $totalEntries = 0; + + /** + * The current file we are working in + */ + private $fileName = ''; + + /** + * Protected constructor + * + * @param $className Name of the class + * @return void + */ + protected function __construct ($className) { + // Call parent constructor + parent::__construct($className); + } + + /** + * Destructor for cleaning purposes, etc + * + * @return void + */ + public final function __destruct() { + // Try to close a file + $this->closeFile(); + + // Call the parent destructor + parent::__destruct(); + } + + /** + * "Getter" for abstracted file size + * + * @return $fileSize Size of abstracted file + */ + public function getFileSize () { + // Call pointer instanze + return $this->getPointerInstance()->getFileSize(); + } + + /** + * Getter for total entries + * + * @return $totalEntries Total entries in this file + */ + public final function getCounter () { + // Get it + return $this->totalEntries; + } + + /** + * Setter for total entries + * + * @param $totalEntries Total entries in this file + * @return void + */ + protected final function setCounter ($counter) { + // Set it + $this->totalEntries = $counter; + } + + /** + * Increment counter + * + * @return void + */ + protected final function incrementCounter () { + // Get it + $this->totalEntries++; + } + + /** + * Getter for the file pointer + * + * @return $filePointer The file pointer which shall be a valid file resource + * @throws UnsupportedOperationException If this method is called + */ + public final function getPointer () { + throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); + } + + /** + * Setter for file name + * + * @param $fileName The new file name + * @return void + */ + protected final function setFileName ($fileName) { + $fileName = (string) $fileName; + $this->fileName = $fileName; + } + + /** + * Getter for file name + * + * @return $fileName The current file name + */ + public final function getFileName () { + return $this->fileName; + } + + /** + * Close a file source and set it's instance to null and the file name + * to empty + * + * @return void + */ + public function closeFile () { + // Debug message + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d]: fileName=%s - CALLED!', __METHOD__, __LINE__, $this->getFileName())); + + // Remove file name + $this->setFileName(''); + + // Debug message + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d]: EXIT!', __METHOD__, __LINE__)); + } + + /** + * Size of this file + * + * @return $size Size (in bytes) of file + * @todo Handle seekStatus + */ + public function size () { + // Call pointer instance + return $this->getPointerInstance()->size(); + } + + /** + * Read data a file pointer + * + * @return mixed The result of fread() + * @throws NullPointerException If the file pointer instance + * is not set by setPointer() + * @throws InvalidResourceException If there is being set + */ + public function readFromFile () { + // Call pointer instance + return $this->getPointerInstance()->readFromFile(); + } + + /** + * Write data to a file pointer + * + * @param $dataStream The data stream we shall write to the file + * @return mixed Number of writes bytes or FALSE on error + * @throws NullPointerException If the file pointer instance + * is not set by setPointer() + * @throws InvalidResourceException If there is being set + * an invalid file resource + */ + public function writeToFile ($dataStream) { + // Call pointer instance + return $this->getPointerInstance()->writeToFile($dataStream); + } + + /** + * Determines whether the EOF has been reached + * + * @return $isEndOfFileReached Whether the EOF has been reached + */ + public final function isEndOfFileReached () { + // Call pointer instance + return $this->getPointerInstance()->isEndOfFileReached(); + } +} + +// [EOF] +?> diff --git a/inc/classes/main/file_directories/class_BaseFile.php b/inc/classes/main/file_directories/class_BaseFile.php deleted file mode 100644 index 0d1bb418..00000000 --- a/inc/classes/main/file_directories/class_BaseFile.php +++ /dev/null @@ -1,195 +0,0 @@ - - * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2014 Core Developer Team - * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -class BaseFile extends BaseFrameworkSystem { - /** - * Counter for total entries - */ - private $totalEntries = 0; - - /** - * The current file we are working in - */ - private $fileName = ''; - - /** - * Protected constructor - * - * @param $className Name of the class - * @return void - */ - protected function __construct ($className) { - // Call parent constructor - parent::__construct($className); - } - - /** - * Destructor for cleaning purposes, etc - * - * @return void - */ - public final function __destruct() { - // Try to close a file - $this->closeFile(); - - // Call the parent destructor - parent::__destruct(); - } - - /** - * "Getter" for abstracted file size - * - * @return $fileSize Size of abstracted file - */ - public function getFileSize () { - // Call pointer instanze - return $this->getPointerInstance()->getFileSize(); - } - - /** - * Getter for total entries - * - * @return $totalEntries Total entries in this file - */ - public final function getCounter () { - // Get it - return $this->totalEntries; - } - - /** - * Setter for total entries - * - * @param $totalEntries Total entries in this file - * @return void - */ - protected final function setCounter ($counter) { - // Set it - $this->totalEntries = $counter; - } - - /** - * Increment counter - * - * @return void - */ - protected final function incrementCounter () { - // Get it - $this->totalEntries++; - } - - /** - * Getter for the file pointer - * - * @return $filePointer The file pointer which shall be a valid file resource - * @throws UnsupportedOperationException If this method is called - */ - public final function getPointer () { - throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); - } - - /** - * Setter for file name - * - * @param $fileName The new file name - * @return void - */ - protected final function setFileName ($fileName) { - $fileName = (string) $fileName; - $this->fileName = $fileName; - } - - /** - * Getter for file name - * - * @return $fileName The current file name - */ - public final function getFileName () { - return $this->fileName; - } - - /** - * Close a file source and set it's instance to null and the file name - * to empty - * - * @return void - * @todo ~10% done? - */ - public function closeFile () { - $this->partialStub('Unfinished method.'); - - // Remove file name - $this->setFileName(''); - } - - /** - * Size of this file - * - * @return $size Size (in bytes) of file - * @todo Handle seekStatus - */ - public function size () { - // Call pointer instance - return $this->getPointerInstance()->size(); - } - - /** - * Read data a file pointer - * - * @return mixed The result of fread() - * @throws NullPointerException If the file pointer instance - * is not set by setPointer() - * @throws InvalidResourceException If there is being set - */ - public function readFromFile () { - // Call pointer instance - return $this->getPointerInstance()->readFromFile(); - } - - /** - * Write data to a file pointer - * - * @param $dataStream The data stream we shall write to the file - * @return mixed Number of writes bytes or FALSE on error - * @throws NullPointerException If the file pointer instance - * is not set by setPointer() - * @throws InvalidResourceException If there is being set - * an invalid file resource - */ - public function writeToFile ($dataStream) { - // Call pointer instance - return $this->getPointerInstance()->writeToFile($dataStream); - } - - /** - * Determines whether the EOF has been reached - * - * @return $isEndOfFileReached Whether the EOF has been reached - */ - public final function isEndOfFileReached () { - // Call pointer instance - return $this->getPointerInstance()->isEndOfFileReached(); - } -} - -// [EOF] -?> diff --git a/inc/classes/main/file_directories/class_BaseFileIo.php b/inc/classes/main/file_directories/class_BaseFileIo.php index f449f11d..e1b7c506 100644 --- a/inc/classes/main/file_directories/class_BaseFileIo.php +++ b/inc/classes/main/file_directories/class_BaseFileIo.php @@ -68,6 +68,9 @@ class BaseFileIo extends BaseFrameworkSystem { * @throws InvalidResourceException If there is being set */ public function closeFile () { + // Debug message + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d]: fileName=%s - CALLED!', __METHOD__, __LINE__, $this->getFileName())); + if (is_null($this->getPointer())) { // Pointer not initialized throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER); @@ -80,6 +83,9 @@ class BaseFileIo extends BaseFrameworkSystem { @fclose($this->getPointer()); $this->setPointer(NULL); $this->setFileName(''); + + // Debug message + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d]: EXIT!', __METHOD__, __LINE__)); } /** diff --git a/inc/classes/main/file_directories/text/class_BaseTextFile.php b/inc/classes/main/file_directories/text/class_BaseTextFile.php index 1c15afa0..1d306738 100644 --- a/inc/classes/main/file_directories/text/class_BaseTextFile.php +++ b/inc/classes/main/file_directories/text/class_BaseTextFile.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class BaseTextFile extends BaseFile { +class BaseTextFile extends BaseAbstractFile { /** * Protected constructor * diff --git a/inc/classes/main/file_directories/text/output/class_BaseOutputTextFile.php b/inc/classes/main/file_directories/text/output/class_BaseOutputTextFile.php index 63052f00..1a5bbafb 100644 --- a/inc/classes/main/file_directories/text/output/class_BaseOutputTextFile.php +++ b/inc/classes/main/file_directories/text/output/class_BaseOutputTextFile.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class BaseOutputTextFile extends BaseFile { +class BaseOutputTextFile extends BaseAbstractFile { /** * Protected constructor *