* This is a file IO handler. It handles reading from and writing to files.
* Missing paths in writing process will be automatically created.
*
- * @author Roland Haeder <webmaster@mxchange.org>
+ * @author Roland Haeder <webmaster@ship-simu.org>
* @version 0.0.0
- * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @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
+ * @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
// Call parent constructor
parent::__construct(__CLASS__);
- // Set description
- $this->setObjectDescription("Datei-Ein-/Ausgabe-Handler");
-
- // Create an unique ID
- $this->createUniqueID();
-
- // Clean up a little
- $this->removeNumberFormaters();
- $this->removeSystemArray();
-
// Set own instance
self::$thisInstance = $this;
}
* Creates an instance of this class and prepares the IO system. This is
* being done by setting the default file IO class
*
- * @return $ioInstance A prepared instance of FilIOHandler
+ * @return $ioInstance A prepared instance of FilIOHandler
*/
public final static function createFileIoHandler () {
// Get instance
$ioHandler = new FileIoHandler();
// Set the *real* file IO instances (both the same)
- $ioHandler->setInputStream(FileIoStream::createFileIoStream());
- $ioHandler->setOutputStream(FileIoStream::createFileIoStream());
+ $ioHandler->setInputStream(ObjectFactory::createObjectByConfiguredName('file_input_class'));
+ $ioHandler->setOutputStream(ObjectFactory::createObjectByConfiguredName('file_output_class'));
// Return instance
return $ioHandler;
/**
* Setter for the *real* file input instance
*
- * @param $inputStream The *real* file-input class
+ * @param $inputStream The *real* file-input class
+ * @return void
*/
public final function setInputStream (FileInputStreamer $inputStream) {
$this->inputStream = $inputStream;
/**
* Setter for the *real* file output instance
*
- * @param $outputStream The *real* file-output class
+ * @param $outputStream The *real* file-output class
+ * @return void
*/
public final function setOutputStream (FileOutputStreamer $outputStream) {
$this->outputStream = $outputStream;
/**
* Saves a file with data by using the current output stream
*
- * @see FileOutputStreamer
+ * @param $fileName Name of the file
+ * @param $dataArray Array with file contents
+ * @return void
+ * @see FileOutputStreamer
*/
public function saveFile ($fileName, $dataArray) {
// Get output stream
$outInstance = $this->getOutputStream();
- // Is it a valid stream?
- if (is_null($outInstance)) {
- // No class returned
- throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
- } elseif (!is_object($outInstance)) {
- // Not an object! ;-(
- throw new NoObjectException($outInstance, self::EXCEPTION_IS_NO_OBJECT);
- } elseif (!method_exists($outInstance, 'saveFile')) {
- // Nope, so throw exception
- throw new MissingMethodException(array($outInstance, 'saveFile'), self::EXCEPTION_MISSING_METHOD);
- }
-
// Send the fileName and dataArray to the output handler
$outInstance->saveFile($fileName, $dataArray);
}
/** Loads data from a file over the input handler
*
- * @see FileInputStreamer
+ * @return $array Array with the file contents
+ * @see FileInputStreamer
*/
public function loadFileContents ($fqfn) {
- // Initialize the array
- $array = array();
-
// Get output stream
$inInstance = $this->getInputStream();
- // Is it a valid stream?
- if (is_null($inInstance)) {
- // No class returned
- throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
- } elseif (!is_object($inInstance)) {
- // Not an object! ;-(
- throw new NoObjectException($inInstance, self::EXCEPTION_IS_NO_OBJECT);
- } elseif (!method_exists($inInstance, 'loadFileContents')) {
- // Nope, so throw exception
- throw new MissingMethodException(array($inInstance, 'loadFileContents'), self::EXCEPTION_MISSING_METHOD);
- }
-
// Read from the input handler
return $inInstance->loadFileContents($fqfn);
}