X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Ffile_directories%2Finput%2Fraw%2Fclass_FrameworkRawFileInputPointer.php;h=c76d4fb9deeaac14965cadf94a7319e3ba421ac3;hb=d831713579377eaedd277b577dcd9c73040d0767;hp=5e3c658ead37ac0cc59cfbce2cdd9050c483f7a3;hpb=6e64aa2cb0fbd5a3c712a6a15e08399b1120cc67;p=core.git diff --git a/framework/main/classes/file_directories/input/raw/class_FrameworkRawFileInputPointer.php b/framework/main/classes/file_directories/input/raw/class_FrameworkRawFileInputPointer.php index 5e3c658e..c76d4fb9 100644 --- a/framework/main/classes/file_directories/input/raw/class_FrameworkRawFileInputPointer.php +++ b/framework/main/classes/file_directories/input/raw/class_FrameworkRawFileInputPointer.php @@ -4,9 +4,10 @@ namespace Org\Mxchange\CoreFramework\Filesystem\Pointer\Input; // Import framework stuff use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap; -use Org\Mxchange\CoreFramework\FileSystem\BaseFileIo; +use Org\Mxchange\CoreFramework\Filesystem\BaseFileIo; +use Org\Mxchange\CoreFramework\Filesystem\FileIoException; use Org\Mxchange\CoreFramework\Filesystem\FileNotFoundException; -use Org\Mxchange\CoreFramework\FileSystem\FileReadProtectedException; +use Org\Mxchange\CoreFramework\Filesystem\FileReadProtectedException; use Org\Mxchange\CoreFramework\Filesystem\Pointer\InputPointer; use Org\Mxchange\CoreFramework\Generic\NullPointerException; use Org\Mxchange\CoreFramework\Generic\UnsupportedOperationException; @@ -14,13 +15,14 @@ use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem; // Import SPL stuff use \SplFileInfo; +use \SplFileObject; /** * A class for reading files * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2020 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2021 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * @@ -43,7 +45,7 @@ class FrameworkRawFileInputPointer extends BaseFileIo implements InputPointer { * * @return void */ - protected function __construct () { + private function __construct () { // Call parent constructor parent::__construct(__CLASS__); } @@ -52,31 +54,35 @@ class FrameworkRawFileInputPointer extends BaseFileIo implements InputPointer { * Create a file pointer based on the given file. The file will also * be verified here. * - * @param $infoInstance An instance of a SplFileInfo class + * @param $fileInstance An instance of a SplFileInfo class * @throws FileIoException If the file is not reachable * @throws FileReadProtectedException If the file is not found or cannot be read * @throws FileNotFoundException If the file does not exist * @return void */ - public static final function createFrameworkRawFileInputPointer (SplFileInfo $infoInstance) { + public static final function createFrameworkRawFileInputPointer (SplFileInfo $fileInstance) { // Some pre-sanity checks... - if (!FrameworkBootstrap::isReachableFilePath($infoInstance)) { + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('RAW-FILE-INPUT-POINTER: fileInstance[%s]=%s - CALLED!', get_class($fileInstance), $fileInstance->__toString())); + if (!FrameworkBootstrap::isReachableFilePath($fileInstance)) { // File cannot be accessed (due to open_basedir restriction) - throw new FileIoException($infoInstance, self::EXCEPTION_FILE_NOT_REACHABLE); - } elseif ((!FrameworkBootstrap::isReadableFile($infoInstance)) && (!$infoInstance->isFile())) { + throw new FileIoException($fileInstance, self::EXCEPTION_FILE_NOT_REACHABLE); + } elseif ((!FrameworkBootstrap::isReadableFile($fileInstance)) && (!$fileInstance->isFile())) { // File does not exist - throw new FileNotFoundException($infoInstance, self::EXCEPTION_FILE_NOT_FOUND); - } elseif ((!FrameworkBootstrap::isReadableFile($infoInstance)) && ($infoInstance->isFile())) { + throw new FileNotFoundException($fileInstance, self::EXCEPTION_FILE_NOT_FOUND); + } elseif ((!FrameworkBootstrap::isReadableFile($fileInstance)) && ($fileInstance->isFile())) { // File exists but cannot be read from - throw new FileReadProtectedException($infoInstance, self::EXCEPTION_FILE_CANNOT_BE_READ); + throw new FileReadProtectedException($fileInstance, self::EXCEPTION_FILE_CANNOT_BE_READ); } // Try to open a handler - $fileObject = $infoInstance->openFile('rb'); - if ((is_null($fileObject)) || ($fileObject === false)) { + $fileObject = $fileInstance->openFile('rb'); + + // Is it valid? + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('RAW-FILE-INPUT-POINTER: fileObject[]=%s', gettype($fileObject))); + if (!($fileObject instanceof SplFileObject)) { // Something bad happend - throw new FileIoException($infoInstance, self::EXCEPTION_FILE_POINTER_INVALID); - } // END - if + throw new FileIoException($fileInstance, self::EXCEPTION_FILE_POINTER_INVALID); + } // Create new instance $pointerInstance = new FrameworkRawFileInputPointer(); @@ -85,6 +91,7 @@ class FrameworkRawFileInputPointer extends BaseFileIo implements InputPointer { $pointerInstance->setFileObject($fileObject); // Return the instance + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('RAW-FILE-INPUT-POINTER: pointerInstance=%s - EXIT!', $pointerInstance->__toString())); return $pointerInstance; } @@ -141,7 +148,7 @@ class FrameworkRawFileInputPointer extends BaseFileIo implements InputPointer { * @return void * @throws UnsupportedOperationException If this method is called */ - public function analyzeFile () { + public function analyzeFileStructure () { throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); }