]> git.mxchange.org Git - core.git/blobdiff - framework/main/middleware/io/class_FileIoHandler.php
Rewrite:
[core.git] / framework / main / middleware / io / class_FileIoHandler.php
index 02c80344dd2ed7092b81518ffacebbcb38e94286..67dcaba535b7cae5a3f640304ceffeb35e0c5021 100644 (file)
@@ -3,13 +3,13 @@
 namespace Org\Mxchange\CoreFramework\Handler\Filesystem;
 
 // Import framework stuff
-use Org\Mxchange\CoreFramework\Factory\ObjectFactory;
+use Org\Mxchange\CoreFramework\Factory\Object\ObjectFactory;
 use Org\Mxchange\CoreFramework\Generic\FrameworkInterface;
 use Org\Mxchange\CoreFramework\Generic\UnsupportedOperationException;
 use Org\Mxchange\CoreFramework\Handler\Stream\IoHandler;
 use Org\Mxchange\CoreFramework\Middleware\BaseMiddleware;
-use Org\Mxchange\CoreFramework\Stream\Filesystem\FileInputStreamer;
-use Org\Mxchange\CoreFramework\Stream\Filesystem\FileOutputStreamer;
+use Org\Mxchange\CoreFramework\Traits\Streamer\File\Input\FileInputStreamerTrait;
+use Org\Mxchange\CoreFramework\Traits\Streamer\File\Output\FileOutputStreamerTrait;
 
 // Import SPL stuff
 use \SplFileInfo;
@@ -20,11 +20,7 @@ use \SplFileInfo;
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
-<<<<<<< HEAD:framework/main/middleware/io/class_FileIoHandler.php
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
-=======
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 Core Developer Team
->>>>>>> Some updates::inc/main/middleware/io/class_FileIoHandler.php
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2020 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -42,15 +38,9 @@ use \SplFileInfo;
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 class FileIoHandler extends BaseMiddleware implements IoHandler {
-       /**
-        * The *real* file input class we shall use for reading data
-        */
-       private $inputStream = NULL;
-
-       /**
-        * The *real* file output class we shall use for reading data
-        */
-       private $outputStream = NULL;
+       // Load traits
+       use FileInputStreamerTrait;
+       use FileOutputStreamerTrait;
 
        /**
         * An instance of this class
@@ -62,7 +52,7 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
         *
         * @return      void
         */
-       protected function __construct () {
+       private function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
 
@@ -81,8 +71,8 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
                $ioHandler = new FileIoHandler();
 
                // Set the *real* file IO instances (both the same)
-               $ioHandler->setInputStream(ObjectFactory::createObjectByConfiguredName('file_input_class'));
-               $ioHandler->setOutputStream(ObjectFactory::createObjectByConfiguredName('file_output_class'));
+               $ioHandler->setInputStreamerInstance(ObjectFactory::createObjectByConfiguredName('file_input_class'));
+               $ioHandler->setOutputStreamerInstance(ObjectFactory::createObjectByConfiguredName('file_output_class'));
 
                // Return instance
                return $ioHandler;
@@ -97,43 +87,6 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
                return self::$selfInstance;
        }
 
-       /**
-        * Setter for the *real* file input instance
-        *
-        * @param       $inputStream    The *real* file-input class
-        * @return      void
-        */
-       public final function setInputStream (FileInputStreamer $inputStream) {
-               $this->inputStream = $inputStream;
-       }
-
-       /**
-        * Getter for the *real* file input instance
-        *
-        * @return      $inputStream    The *real* file-input class
-        */
-       public final function getInputStream () {
-               return $this->inputStream;
-       }
-
-       /**
-        * Setter for the *real* file output instance
-        *
-        * @param       $outputStream   The *real* file-output class
-        * @return      void
-        */
-       public final function setOutputStream (FileOutputStreamer $outputStream) {
-               $this->outputStream = $outputStream;
-       }
-
-       /**
-        * Getter for the *real* file output instance
-        *
-        * @return      $outputStream   The *real* file-output class
-        */
-       public final function getOutputStream () {
-               return $this->outputStream;
-       }
        /**
         * Saves streamed (that are mostly serialized objects) data to files or
         * external servers.
@@ -156,7 +109,7 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
         * @param       $objectInstance         An instance of a FrameworkInterface class (default: NULL)
         * @return      void
         */
-       public function saveStreamToFile (SplFileInfo $infoInstance, $dataStream, FrameworkInterface $objectInstance = NULL) {
+       public function saveStreamToFile (SplFileInfo $infoInstance, string $dataStream, FrameworkInterface $objectInstance = NULL) {
                // Default is this array
                $className = $this->__toString();
 
@@ -173,7 +126,7 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
                );
 
                // Send the infoInstance and dataArray to the output handler
-               $this->getOutputStream()->saveFile($infoInstance, $dataArray);
+               $this->getOutputStreamerInstance()->saveFile($infoInstance, $dataArray);
        }
 
        /** Loads data from a file over the input handler
@@ -183,7 +136,7 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
         */
        public function loadFileContents (SplFileInfo $infoInstance) {
                // Read from the input handler
-               return $this->getInputStream()->loadFileContents($infoInstance);
+               return $this->getInputStreamerInstance()->loadFileContents($infoInstance);
        }
 
        /**
@@ -201,9 +154,9 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
         *
         * @param       $offset         Offset to seek to (or used as "base" for other seeks)
         * @param       $whence         Added to offset (default: only use offset to seek to)
-        * @return      $status         Status of file seek: 0 = success, -1 = failed
+        * @return      void
         */
-       public function seek ($offset, $whence = SEEK_SET) {
+       public function seek (int $offset, int $whence = SEEK_SET) {
                $this->partialStub('offset=' . $offset . ',whence=' . $whence);
        }
 
@@ -226,24 +179,4 @@ class FileIoHandler extends BaseMiddleware implements IoHandler {
                $this->partialStub();
        }
 
-       /**
-        * Seek to given offset (default) or other possibilities as fseek() gives.
-        *
-        * @param       $offset         Offset to seek to (or used as "base" for other seeks)
-        * @param       $whence         Added to offset (default: only use offset to seek to)
-        * @return      $status         Status of file seek: 0 = success, -1 = failed
-        */
-       public function seek ($offset, $whence = SEEK_SET) {
-               $this->partialStub('offset=' . $offset . ',whence=' . $whence);
-       }
-
-       /**
-        * Size of file stack
-        *
-        * @return      $size   Size (in bytes) of file
-        */
-       public function size () {
-               $this->partialStub();
-       }
-
 }