Continued:
authorRoland Häder <roland@mxchange.org>
Sun, 8 Jul 2018 05:04:51 +0000 (07:04 +0200)
committerRoland Häder <roland@mxchange.org>
Sun, 8 Jul 2018 05:04:51 +0000 (07:04 +0200)
- it is getFileObject() not getPointer()
- also let that method invoke wrapped file pointer instance' same method

Signed-off-by: Roland Häder <roland@mxchange.org>
17 files changed:
framework/loader/class_ClassLoader.php
framework/main/classes/file_directories/class_BaseAbstractFile.php
framework/main/classes/file_directories/class_BaseFileIo.php
framework/main/classes/file_directories/directory/class_FrameworkDirectoryPointer.php
framework/main/classes/file_directories/input/raw/class_FrameworkRawFileInputPointer.php
framework/main/classes/file_directories/input/text/class_FrameworkTextFileInputPointer.php
framework/main/classes/file_directories/io/class_FrameworkFileInputOutputPointer.php
framework/main/classes/file_directories/output/raw/class_FrameworkRawFileOutputPointer.php
framework/main/classes/file_directories/output/text/class_FrameworkTextFileOutputPointer.php
framework/main/classes/file_directories/text/input/class_BaseInputTextFile.php
framework/main/classes/file_directories/text/input/csv/class_CsvInputFile.php
framework/main/classes/index/file_stack/class_FileStackIndex.php
framework/main/classes/stacker/file/fifo/class_FiFoFileStack.php
framework/main/interfaces/io/class_CloseableFile.php
framework/main/interfaces/io/pointer/class_InputPointer.php
framework/main/interfaces/io/pointer/class_OutputPointer.php
framework/main/tests/resolver/command/console/class_TestsConsoleCommandResolver.php

index 330cdaa..5035d3f 100644 (file)
@@ -455,7 +455,7 @@ class ClassLoader {
                        $currentEntry = $iteratorInstance->current();
 
                        // Get filename from iterator which is the class' name (according naming-convention)
-                       $fileName = $currentEntry->getFileName();
+                       $fileName = $currentEntry->getFilename();
 
                        // Current entry must be a file, not smaller than 100 bytes and not on ignore list
                        if ((!$currentEntry->isFile()) || (in_array($fileName, $this->ignoreList)) || ($currentEntry->getSize() < 100)) {
index 92b3f11..29517f4 100644 (file)
@@ -105,10 +105,9 @@ abstract class BaseAbstractFile extends BaseFrameworkSystem implements FilePoint
         * Getter for the file object
         *
         * @return      $fileObject             An instance of a SplFileObject
-        * @throws      UnsupportedOperationException   If this method is called
         */
        public final function getFileObject () {
-               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+               return $this->getPointerInstance()->getFileObject();
        }
 
        /**
@@ -144,7 +143,7 @@ abstract class BaseAbstractFile extends BaseFrameworkSystem implements FilePoint
         *
         * @return      mixed   The result of fread()
         * @throws      NullPointerException    If the file pointer instance
-        *                                                                      is not set by setPointer()
+        *                                                                      is not set by setFileObject()
         * @throws      InvalidResourceException        If there is being set
         */
        public function readFromFile () {
@@ -158,7 +157,7 @@ abstract class BaseAbstractFile extends BaseFrameworkSystem implements FilePoint
         * @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()
+        *                                                                      is not set by setFileObject()
         * @throws      InvalidResourceException        If there is being set
         *                                                                                      an invalid file resource
         */
index ce65bd8..f45b5ea 100644 (file)
@@ -71,7 +71,7 @@ abstract class BaseFileIo extends BaseFrameworkSystem implements FilePointer, Cl
         * to empty.
         *
         * @return      void
-        * @throws      NullPointerException    If the file pointer instance is not set by setPointer()
+        * @throws      NullPointerException    If the file pointer instance is not set by setFileObject()
         * @throws      LogicException  If there is no object being set
         */
        public function closeFile () {
index 4c03302..d7f346a 100644 (file)
@@ -161,7 +161,7 @@ class FrameworkDirectoryPointer extends BaseFrameworkSystem implements Framework
                        //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DIRECTORY[' . __METHOD__ . ':' . __LINE__ . ']: fileInfoInstance[' . gettype($fileInfoInstance) . ']=' . $fileInfoInstance . ',isDot=' . intval($this->getDirectoryIteratorInstance()->isDot()));
 
                        // Is it a dot-directory or excluded?
-                       if (($this->getDirectoryIteratorInstance()->isDot()) || (in_array($fileInfoInstance, $except))) {
+                       if (($this->getDirectoryIteratorInstance()->isDot()) && (!in_array($fileInfoInstance, $except))) {
                                // To next entry
                                $this->getDirectoryIteratorInstance()->next();
 
index fc3ab6d..3de4dc7 100644 (file)
@@ -92,7 +92,7 @@ class FrameworkRawFileInputPointer extends BaseFileIo implements InputPointer {
         * Read data a file pointer
         *
         * @return      mixed   The result of fread()
-        * @throws      NullPointerException    If the file pointer instance is not set by setPointer()
+        * @throws      NullPointerException    If the file pointer instance is not set by setFileObject()
         * @throws      LogicException  If there is no object being set
         */
        public function readFromFile () {
index 1b3c88e..0070631 100644 (file)
@@ -12,6 +12,9 @@ use Org\Mxchange\CoreFramework\Generic\NullPointerException;
 use Org\Mxchange\CoreFramework\Generic\UnsupportedOperationException;
 use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
 
+// Import SPL stuff
+use \SplFileInfo;
+
 /**
  * A class for reading text files
  *
@@ -54,7 +57,8 @@ class FrameworkTextFileInputPointer extends BaseFileIo implements InputPointer {
         * @throws      FileReadProtectedException      If the file cannot be read from
         * @return      void
         */
-       public static final function createFrameworkTextFileInputPointer ($infoInstance) {
+       public static final function createFrameworkTextFileInputPointer (SplFileInfo $infoInstance) {
+               // Check parameter
                if (!FrameworkBootstrap::isReachableFilePath($infoInstance)) {
                        // File cannot be reached
                        throw new FileIoException($infoInstance, self::EXCEPTION_FILE_NOT_REACHABLE);
@@ -68,6 +72,11 @@ class FrameworkTextFileInputPointer extends BaseFileIo implements InputPointer {
 
                // Try to open a handler
                $fileObject = $infoInstance->openFile('r');
+
+               // Debug message
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TEXT-FILE-INPUT: fileObject[]=' . gettype($fileObject));
+
+               // Is it valid?
                if ((is_null($fileObject)) || ($fileObject === false)) {
                        // Something bad happend
                        throw new FileIoException($infoInstance, self::EXCEPTION_FILE_POINTER_INVALID);
@@ -77,7 +86,7 @@ class FrameworkTextFileInputPointer extends BaseFileIo implements InputPointer {
                $pointerInstance = new FrameworkTextFileInputPointer();
 
                // Set file pointer and file name
-               $pointerInstance->setPointer($fileObject);
+               $pointerInstance->setFileObject($fileObject);
 
                // Return the instance
                return $pointerInstance;
@@ -108,7 +117,7 @@ class FrameworkTextFileInputPointer extends BaseFileIo implements InputPointer {
         *
         * @param       $bytes  Amount of bytes to read or whole line (only text files)
         * @return      $data   Data read from file
-        * @throws      NullPointerException    If the file pointer instance is not set by setPointer()
+        * @throws      NullPointerException    If the file pointer instance is not set by setFileObject()
         * @throws      InvalidResourceException        If there is no object being set
         */
        public function read ($bytes = NULL) {
index 971b3ac..1217e83 100644 (file)
@@ -102,7 +102,7 @@ class FrameworkFileInputOutputPointer extends BaseFileIo implements InputOutputP
         *
         * @return      void
         * @throws      NullPointerException    If the file pointer instance
-        *                                                                      is not set by setPointer()
+        *                                                                      is not set by setFileObject()
         * @todo Add more checks
         */
        private function validateFilePointer () {
index 81bd343..7c9b190 100644 (file)
@@ -83,7 +83,7 @@ class FrameworkRawFileOutputPointer extends BaseFileIo implements OutputPointer
         *
         * @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      NullPointerException    If the file pointer instance is not set by setFileObject()
         * @throws      LogicException  If there is no object being set
         */
        public function writeToFile ($dataStream) {
index d94ec9c..11dd373 100644 (file)
@@ -86,7 +86,7 @@ class FrameworkTextFileOutputPointer extends BaseFileIo implements OutputPointer
         *
         * @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      NullPointerException    If the file pointer instance is not set by setFileObject()
         * @throws      LogicException  If there is no object being set
         */
        public function writeToFile ($dataStream) {
index 1767a55..9216f12 100644 (file)
@@ -6,6 +6,9 @@ namespace Org\Mxchange\CoreFramework\Filesystem\Text;
 use Org\Mxchange\CoreFramework\Factory\ObjectFactory;
 use Org\Mxchange\CoreFramework\Filesystem\File\BaseTextFile;
 
+// Import SPL stuff
+use \SplFileInfo;
+
 /**
  * A general text input file class
  *
@@ -43,12 +46,12 @@ abstract class BaseInputTextFile extends BaseTextFile {
        /**
         * Initializes this text file for reading
         *
-        * @param       $fileName       File's name
+        * @param       $infoInstance   An instance of a SplFileInfo class
         * @return      void
         */
-       protected function initFile ($fileName) {
+       protected function initFile (SplFileInfo $infoInstance) {
                // Get a file i/o pointer instance
-               $pointerInstance = ObjectFactory::createObjectByConfiguredName('text_file_input_class', array($fileName));
+               $pointerInstance = ObjectFactory::createObjectByConfiguredName('text_file_input_class', array($infoInstance));
 
                // ... and set it here
                $this->setPointerInstance($pointerInstance);
index 3343c6d..efd42eb 100644 (file)
@@ -6,6 +6,9 @@ namespace Org\Mxchange\CoreFramework\Filesystem\Input\Csv;
 use Org\Mxchange\CoreFramework\Filesystem\Text\BaseInputTextFile;
 use Org\Mxchange\CoreFramework\Stream\Filesystem\CsvInputStreamer;
 
+// Import SPL stuff
+use \SplFileInfo;
+
 /**
  * A CSV file input class for writing CSV files
  *
@@ -42,15 +45,15 @@ class CsvInputFile extends BaseInputTextFile implements CsvInputStreamer {
        /**
         * Creates an instance of this File class and prepares it for usage
         *
-        * @param       $fileName               Name of the index file
+        * @param       $infoInstance   An instance of a SplFileInfo class
         * @return      $fileInstance   An instance of this File class
         */
-       public final static function createCsvInputFile ($fileName) {
+       public final static function createCsvInputFile (SplFileInfo $infoInstance) {
                // Get a new instance
                $fileInstance = new CsvInputFile();
 
                // Init this abstract file
-               $fileInstance->initFile($fileName);
+               $fileInstance->initFile($infoInstance);
 
                // Return the prepared instance
                return $fileInstance;
index 7d33060..7deb716 100644 (file)
@@ -6,7 +6,7 @@ namespace Org\Mxchange\CoreFramework\Index\Stack;
 use Org\Mxchange\CoreFramework\Index\BaseIndex;
 use Org\Mxchange\CoreFramework\Index\Indexable;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
-use Org\Mxchange\CoreFramework\Stacker\Filesystem\BaseFileStacker;
+use Org\Mxchange\CoreFramework\Stacker\Filesystem\BaseFileStack;
 use Org\Mxchange\CoreFramework\Stacker\Index\IndexableStack;
 
 // Import SPL stuff
index 9994e38..d015cf7 100644 (file)
@@ -6,7 +6,7 @@ namespace Org\Mxchange\CoreFramework\Stacker\Filesystem;
 use Org\Mxchange\CoreFramework\Filesystem\Block\CalculatableBlock;
 use Org\Mxchange\CoreFramework\Filesystem\Stack\StackableFile;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
-use Org\Mxchange\CoreFramework\Stacker\Filesystem\BaseFileStacker;
+use Org\Mxchange\CoreFramework\Stacker\Filesystem\BaseFileStack;
 
 // Import SPL stuff
 use \SplFileInfo;
index ebfc1c3..1d4d0d9 100644 (file)
@@ -34,7 +34,7 @@ interface CloseableFile extends FrameworkInterface {
         * to empty.
         *
         * @return      void
-        * @throws      NullPointerException    If the file pointer instance is not set by setPointer()
+        * @throws      NullPointerException    If the file pointer instance is not set by setFileObject()
         * @throws      InvalidResourceException        If there is being set
         */
        function closeFile ();
index 334ed78..47a8935 100644 (file)
@@ -49,7 +49,7 @@ interface InputPointer extends StreamableInput, FilePointer {
         * @param       $bytes  Amount of bytes to read or whole line (only text files)
         * @return      $data   Data read from file
         * @throws      NullPointerException    If the file pointer instance
-        *                                                                      is not set by setPointer()
+        *                                                                      is not set by setFileObject()
         * @throws      InvalidResourceException        If there is being set
         */
        function read ($bytes = NULL);
index 403e662..f4a240b 100644 (file)
@@ -35,7 +35,7 @@ interface OutputPointer extends StreamableOutput, FilePointer {
         * @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()
+        *                                                                      is not set by setFileObject()
         * @throws      InvalidResourceException        If there is being set
         *                                                                                      an invalid file resource
         */
index 925bb04..7220e3e 100644 (file)
@@ -69,6 +69,7 @@ class TestsConsoleCommandResolver extends BaseCommandResolver implements Command
 
                // Set namespace for command
                $resolverInstance->setNamespace('Org\Mxchange\CoreFramework\Tests\Command');
+               $resolverInstance->setCommandName($commandName);
 
                // Return the prepared instance
                return $resolverInstance;