From b79b70f64580d944cbde60cd7a08716ea70b3e11 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sat, 24 May 2014 15:26:00 +0200 Subject: [PATCH] Renamed more and moved code to Block interface. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- inc/classes/interfaces/block/class_Block.php | 32 +++++++--- inc/classes/interfaces/io/class_Pointer.php | 9 --- .../main/class_BaseFrameworkSystem.php | 2 +- .../main/file_directories/class_BaseFile.php | 2 +- .../index/class_IndexFile.php | 2 +- .../stack/class_StackFile.php | 2 +- inc/classes/main/index/class_BaseIndex.php | 2 +- .../main/iterator/{io => file}/.htaccess | 0 .../class_FileIterator.php} | 60 +++++++++---------- .../main/stacker/file/class_BaseFileStack.php | 2 +- inc/config.php | 4 +- 11 files changed, 62 insertions(+), 55 deletions(-) rename inc/classes/main/iterator/{io => file}/.htaccess (100%) rename inc/classes/main/iterator/{io/class_FileIoIterator.php => file/class_FileIterator.php} (72%) diff --git a/inc/classes/interfaces/block/class_Block.php b/inc/classes/interfaces/block/class_Block.php index 88e0e23e..59b9f4fc 100644 --- a/inc/classes/interfaces/block/class_Block.php +++ b/inc/classes/interfaces/block/class_Block.php @@ -22,14 +22,6 @@ * along with this program. If not, see . */ interface Block extends FrameworkInterface { - /** - * Checks whether the block separator has been found - * - * @param $str String to look in - * @return $isFound Whether the block separator has been found - */ - function isBlockSeparatorFound ($str); - /** * Reads the file header * @@ -43,6 +35,30 @@ interface Block extends FrameworkInterface { * @return void */ function flushFileHeader (); + + /** + * Close a file source and set it's instance to null and the file name + * to empty. + * + * @return void + * @throws NullPointerException If the file pointer instance is not set by setPointer() + * @throws InvalidResourceException If there is being set + */ + function closeFile (); + + /** + * Determines whether the EOF has been reached + * + * @return $isEndOfFileReached Whether the EOF has been reached + */ + function isEndOfFileReached (); + + /** + * Getter for file name + * + * @return $fileName The current file name + */ + function getFileName (); } // [EOF] diff --git a/inc/classes/interfaces/io/class_Pointer.php b/inc/classes/interfaces/io/class_Pointer.php index b0882b7a..c17d881c 100644 --- a/inc/classes/interfaces/io/class_Pointer.php +++ b/inc/classes/interfaces/io/class_Pointer.php @@ -52,15 +52,6 @@ interface Pointer extends FrameworkInterface { * @return $isEndOfFileReached Whether the EOF has been reached */ function isEndOfFileReached (); - - /** - * Analyzes entries in index file. This will count all found (and valid) - * entries, mark invalid as damaged and count gaps ("fragmentation"). If - * only gaps are found, the file is considered as "virgin" (no entries). - * - * @return void - */ - function analyzeFile (); } // [EOF] diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 4744d9fe..0c08a67a 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -3066,7 +3066,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @param $str String to look in * @return $isFound Whether the block separator has been found */ - public function isBlockSeparatorFound ($str) { + public static function isBlockSeparatorFound ($str) { // Determine it $isFound = (strpos($str, self::getBlockSeparator()) !== FALSE); diff --git a/inc/classes/main/file_directories/class_BaseFile.php b/inc/classes/main/file_directories/class_BaseFile.php index 3da2dc02..c596fcb4 100644 --- a/inc/classes/main/file_directories/class_BaseFile.php +++ b/inc/classes/main/file_directories/class_BaseFile.php @@ -480,7 +480,7 @@ y * @return void // Wait until a entry/block separator has been found $data = $this->getBackBuffer(); - while ((!$this->isEndOfFileReached()) && (!$this->getBlockInstance()->isBlockSeparatorFound($data))) { + while ((!$this->isEndOfFileReached()) && (!self::isBlockSeparatorFound($data))) { // Then read the block $data .= $this->read($length); //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('data()=' . strlen($data)); diff --git a/inc/classes/main/file_directories/index/class_IndexFile.php b/inc/classes/main/file_directories/index/class_IndexFile.php index f8e6be92..592c4fe1 100644 --- a/inc/classes/main/file_directories/index/class_IndexFile.php +++ b/inc/classes/main/file_directories/index/class_IndexFile.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class IndexFile extends BaseFile implements InputOutputPointer { +class IndexFile extends BaseFile implements Block { /** * Protected constructor * diff --git a/inc/classes/main/file_directories/stack/class_StackFile.php b/inc/classes/main/file_directories/stack/class_StackFile.php index 299b0042..df0bec75 100644 --- a/inc/classes/main/file_directories/stack/class_StackFile.php +++ b/inc/classes/main/file_directories/stack/class_StackFile.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class StackFile extends BaseFile implements InputOutputPointer { +class StackFile extends BaseFile implements Block { /** * Protected constructor * diff --git a/inc/classes/main/index/class_BaseIndex.php b/inc/classes/main/index/class_BaseIndex.php index 8347af67..df3e758f 100644 --- a/inc/classes/main/index/class_BaseIndex.php +++ b/inc/classes/main/index/class_BaseIndex.php @@ -153,7 +153,7 @@ class BaseIndex extends BaseFrameworkSystem { $fileInstance = ObjectFactory::createObjectByConfiguredName('index_file_class', array($fileName, $this)); // Get iterator instance - $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_io_iterator_class', array($fileInstance)); + $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_iterator_class', array($fileInstance)); // Is the instance implementing the right interface? assert($iteratorInstance instanceof SeekableWritableFileIterator); diff --git a/inc/classes/main/iterator/io/.htaccess b/inc/classes/main/iterator/file/.htaccess similarity index 100% rename from inc/classes/main/iterator/io/.htaccess rename to inc/classes/main/iterator/file/.htaccess diff --git a/inc/classes/main/iterator/io/class_FileIoIterator.php b/inc/classes/main/iterator/file/class_FileIterator.php similarity index 72% rename from inc/classes/main/iterator/io/class_FileIoIterator.php rename to inc/classes/main/iterator/file/class_FileIterator.php index 21054378..8d8e77fc 100644 --- a/inc/classes/main/iterator/io/class_FileIoIterator.php +++ b/inc/classes/main/iterator/file/class_FileIterator.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class FileIoIterator extends BaseIterator implements SeekableWritableFileIterator { +class FileIterator extends BaseIterator implements SeekableWritableFileIterator { /** * Protected constructor * @@ -35,15 +35,15 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato /** * Creates an instance of this class * - * @param $pointerInstance An instance of a InputOutputPointer class + * @param $pointerInstance An instance of a Block class * @return $iteratorInstance An instance of a Iterator class */ - public final static function createFileIoIterator (InputOutputPointer $pointerInstance) { + public final static function createFileIterator (Block $blockInstance) { // Get new instance - $iteratorInstance = new FileIoIterator(); + $iteratorInstance = new FileIterator(); // Set the instance here - $iteratorInstance->setPointerInstance($pointerInstance); + $iteratorInstance->setBlockInstance($blockInstance); // Return the prepared instance return $iteratorInstance; @@ -55,8 +55,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $current Currently read data */ public function current () { - // Call pointer instance - return $this->getPointerInstance()->current(); + // Call block instance + return $this->getBlockInstance()->current(); } /** @@ -66,7 +66,7 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato */ public function key () { // Return it - return $this->getPointerInstance()->determineSeekPosition(); + return $this->getBlockInstance()->determineSeekPosition(); } /** @@ -75,8 +75,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return void */ public function next () { - // Call pointer instance - $this->getPointerInstance()->next(); + // Call block instance + $this->getBlockInstance()->next(); } /** @@ -85,8 +85,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $status Status of this operation */ public function rewind () { - // Call pointer instance - return $this->getPointerInstance()->rewind(); + // Call block instance + return $this->getBlockInstance()->rewind(); } /** @@ -96,8 +96,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $isValid Whether the next entry is valid */ public function valid () { - // Call pointer instance - return $this->getPointerInstance()->valid(); + // Call block instance + return $this->getBlockInstance()->valid(); } /** @@ -107,8 +107,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $status Status of this operation */ public function seek ($seekPosition) { - // Call pointer instance - return $this->getPointerInstance()->seek($seekPosition); + // Call block instance + return $this->getBlockInstance()->seek($seekPosition); } /** @@ -123,7 +123,7 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato $this->seek($seekPosition); // Then write the data at that position - $this->getPointerInstance()->writeToFile($data); + $this->getBlockInstance()->writeToFile($data); } /** @@ -132,8 +132,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $size Size (in bytes) of file */ public function size () { - // Call the pointer object - $size = $this->getPointerInstance()->size(); + // Call the block object + $size = $this->getBlockInstance()->size(); // Return result return $size; @@ -146,8 +146,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $data Data read from file */ public function read ($bytes) { - // Call pointer instance - return $this->getPointerInstance()->read($bytes); + // Call block instance + return $this->getBlockInstance()->read($bytes); } /** @@ -158,8 +158,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return void */ public function analyzeFile () { - // Just call the pointer instance - $this->getPointerInstance()->analyzeFile(); + // Just call the block instance + $this->getBlockInstance()->analyzeFile(); } /** @@ -168,8 +168,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return $isInitialized Whether the file header is initialized */ public function isFileHeaderInitialized () { - // Just call the pointer instance - return $this->getPointerInstance()->isFileHeaderInitialized(); + // Just call the block instance + return $this->getBlockInstance()->isFileHeaderInitialized(); } /** @@ -178,8 +178,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return void */ public function createFileHeader () { - // Just call the pointer instance - $this->getPointerInstance()->createFileHeader(); + // Just call the block instance + $this->getBlockInstance()->createFileHeader(); } /** @@ -189,8 +189,8 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato * @return void */ public function preAllocateFile ($type) { - // Just call the pointer instance - $this->getPointerInstance()->preAllocateFile($type); + // Just call the block instance + $this->getBlockInstance()->preAllocateFile($type); } } diff --git a/inc/classes/main/stacker/file/class_BaseFileStack.php b/inc/classes/main/stacker/file/class_BaseFileStack.php index 3cc3240a..6174a882 100644 --- a/inc/classes/main/stacker/file/class_BaseFileStack.php +++ b/inc/classes/main/stacker/file/class_BaseFileStack.php @@ -164,7 +164,7 @@ class BaseFileStack extends BaseStacker { $fileInstance = ObjectFactory::createObjectByConfiguredName('stack_file_class', array($fileName, $this)); // Get iterator instance - $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_io_iterator_class', array($fileInstance)); + $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_iterator_class', array($fileInstance)); // Is the instance implementing the right interface? assert($iteratorInstance instanceof SeekableWritableFileIterator); diff --git a/inc/config.php b/inc/config.php index a51fb8df..d5e0f8c7 100644 --- a/inc/config.php +++ b/inc/config.php @@ -368,8 +368,8 @@ $cfg->setConfigEntry('file_raw_output_class', 'FrameworkFileOutputPointer'); // CFG: FILE-INPUT-OUTPUT-CLASS $cfg->setConfigEntry('file_raw_input_output_class', 'FrameworkFileInputOutputPointer'); -// CFG: FILE-IO-ITERATOR-CLASS -$cfg->setConfigEntry('file_io_iterator_class', 'FileIoIterator'); +// CFG: FILE-ITERATOR-CLASS +$cfg->setConfigEntry('file_iterator_class', 'FileIterator'); // CFG: FILE-STACK-PRE-ALLOCATE-ENABLED $cfg->setConfigEntry('file_stack_pre_allocate_enabled', 'Y'); -- 2.30.2