]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/file_directories/io_stream/class_FileIoStream.php
Rewritten:
[core.git] / framework / main / classes / file_directories / io_stream / class_FileIoStream.php
index 7ab2299c6eab8fe008582c7583068fa40aacbad7..25919e34720712b53086ac4bd12b86ad86c16747 100644 (file)
@@ -3,12 +3,17 @@
 namespace CoreFramework\Stream\Filesystem;
 
 // Import framework stuff
+use CoreFramework\EntryPoint\ApplicationEntryPoint;
 use CoreFramework\Factory\ObjectFactory;
+use CoreFramework\Filesystem\FileNotFoundException;
 use CoreFramework\Generic\UnsupportedOperationException;
 use CoreFramework\Object\BaseFrameworkSystem;
 use CoreFramework\Stream\Filesystem\FileInputStreamer;
 use CoreFramework\Stream\Filesystem\FileOutputStreamer;
 
+// Import SPL stuff
+use \SplFileInfo;
+
 /**
  * An universal class for file input/output streams.
  *
@@ -77,13 +82,13 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
        /**
         * Saves data to a given local file and create missing directory structures
         *
-        * @param       $fileName       The file name for the to be saved file
+        * @param       $fileInstance   An instance of a SplFileInfo class
         * @param       $dataArray      The data we shall store to the file
         * @return      void
         * @see         FileOutputStreamer
         * @todo        This method needs heavy rewrite
         */
-       public final function saveFile ($fileName, array $dataArray) {
+       public final function saveFile (SplFileInfo $fileInstance, array $dataArray) {
                // Try it five times
                $dirName = '';
                $fileInstance = NULL;
@@ -91,10 +96,10 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
                for ($idx = 0; $idx < 5; $idx++) {
                        // Get a file output pointer
                        try {
-                               $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_output_class', array($fileName, 'wb'));
+                               $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_output_class', array($fileInstance, 'wb'));
                        } catch (FileNotFoundException $e) {
                                // Bail out
-                               ApplicationEntryPoint::app_exit('The application has made a fatal error. Exception: ' . $e->__toString() . ' with message: ' . $e->getMessage());
+                               ApplicationEntryPoint::exitApplication('The application has made a fatal error. Exception: ' . $e->__toString() . ' with message: ' . $e->getMessage());
                        }
                } // END - for
 
@@ -140,11 +145,11 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
        /**
         * Reads from a local file
         *
-        * @param       $fqfn   The full-qualified file-name which we shall load
+        * @param       $infoInstance   An instance of a SplFileInfo class
         * @return      $array  An array with the element 'header' and 'data'
         * @see         FileInputStreamer
         */
-       public final function loadFileContents ($fqfn) {
+       public final function loadFileContents (SplFileInfo $infoInstance) {
                // Initialize some variables and arrays
                $inputBuffer = '';
                $lastBuffer = '';
@@ -153,7 +158,7 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
                $readData = ''; // This will contain our read data
 
                // Get a file input handler
-               $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_input_class', array($fqfn));
+               $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_input_class', array($infoInstance));
 
                // Read all it's contents (we very and transparently decompress it below)
                while ($readRawLine = $fileInstance->readFromFile()) {