* A class for reading files
*
* @author Roland Haeder <webmaster@ship-simu.org>
- * @version 0.0
+ * @version 0.0.0
* @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
* @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
* 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 <http://www.gnu.org/licenses/>.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class FrameworkFileInputPointer extends BaseFrameworkSystem {
/**
private $filePointer = null;
/**
- * Private constructor
+ * Protected constructor
*/
- private final function __construct () {
+ protected function __construct () {
// Call parent constructor
- parent::constructor(__CLASS__);
+ parent::__construct(__CLASS__);
// Set part description
- $this->setPartDescr("Dateiausgabe-Handler");
+ $this->setObjectDescription("Handler for reading from files");
// Create unique ID
- $this->createUniqueID();
+ $this->generateUniqueId();
// Clean-up a little
$this->removeNumberFormaters();
*/
public final static function createFrameworkFileInputPointer ($fileName) {
// Some pre-sanity checks...
- if (is_null($fileName)) {
+ if ((is_null($fileName)) || (empty($fileName))) {
// No filename given
throw new FileIsEmptyException(null, self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+ } elseif (!file_exists($fileName)) {
+ // File does not exist!
+ throw new FileIsMissingException($fileName, self::EXCEPTION_FILE_NOT_FOUND);
+ } elseif (!is_readable($fileName)) {
+ // File does not exist!
+ throw new FileReadProtectedException($fileName, self::EXCEPTION_FILE_CANNOT_BE_READ);
}
// Try to open a handler
$filePointer = @fopen($fileName, 'rb');
- if (($filePointer === null) || ($filePointer === false)) {
+ if ((is_null($filePointer)) || ($filePointer === false)) {
// Something bad happend
throw new FilePointerNotOpenedException ($fileName, self::EXCEPTION_FILE_POINTER_INVALID);
- }
+ } // END - if
// Create new instance
$pointerInstance = new FrameworkFileInputPointer();