Moved more code to BaseFile as it makes sense to have it there.
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index 214f2a9f68be77cbdb664148c6109567daa9f68e..4744d9fe66a96bf102ae49a0be1bec53ad734c2a 100644 (file)
@@ -219,7 +219,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        private $indexInstance = NULL;
 
        /**
-        * An instance of a CalculatableBlock class
+        * An instance of a Block class
         */
        private $blockInstance = NULL;
 
@@ -1342,19 +1342,19 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        }
 
        /**
-        * Setter for CalculatableBlock instance
+        * Setter for Block instance
         *
-        * @param       $blockInstance  An instance of an CalculatableBlock class
+        * @param       $blockInstance  An instance of an Block class
         * @return      void
         */
-       protected final function setBlockInstance (CalculatableBlock $blockInstance) {
+       protected final function setBlockInstance (Block $blockInstance) {
                $this->blockInstance = $blockInstance;
        }
 
        /**
-        * Getter for CalculatableBlock instance
+        * Getter for Block instance
         *
-        * @return      $blockInstance  An instance of an CalculatableBlock class
+        * @return      $blockInstance  An instance of an Block class
         */
        public final function getBlockInstance () {
                return $this->blockInstance;
@@ -3022,96 +3022,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!', __METHOD__, __LINE__));
        }
 
-       /**
-        * Checks whether the file header is initialized
-        *
-        * @return      $isInitialized  Whether the file header is initialized
-        */
-       protected function isFileHeaderInitialized () {
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] CALLED!', __METHOD__, __LINE__));
-
-               // Is the method there?
-               assert(is_callable(array($this, 'readFileHeader')));
-
-               // Default is not initialized
-               $isInitialized = FALSE;
-
-               // Is the file initialized?
-               if ($this->isFileInitialized()) {
-                       // Some bytes has been written, so rewind to start of it.
-                       $rewindStatus = $this->getIteratorInstance()->rewind();
-                       //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] rewindStatus=%s', __METHOD__, __LINE__, $rewindStatus));
-
-                       // Is the rewind() call successfull?
-                       if ($rewindStatus != 1) {
-                               // Something bad happened
-                               self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] Could not rewind().', __METHOD__, __LINE__));
-                       } // END - if
-
-                       // Read file header
-                       $this->readFileHeader();
-
-                       // The above method does already check the header
-                       $isInitialized = TRUE;
-               } // END - if
-
-               // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] isInitialized=%d - EXIT!', __METHOD__, __LINE__, intval($isInitialized)));
-               return $isInitialized;
-       }
-
-       /**
-        * Checks whether the assigned file has been initialized
-        *
-        * @return      $isInitialized          Whether the file's size is zero
-        */
-       protected function isFileInitialized () {
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] CALLED!', __METHOD__, __LINE__));
-
-               // size() must be callable
-               assert(is_callable(array($this, 'size')));
-
-               // Get it from iterator which holds the pointer instance. If FALSE is returned
-               $fileSize = $this->size();
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] fileSize=%s', __METHOD__, __LINE__, $fileSize));
-
-               /*
-                * The returned file size should not be FALSE or NULL as this means
-                * that the pointer class does not work correctly.
-                */
-               assert(is_int($fileSize));
-
-               // Is more than 0 returned?
-               $isInitialized = ($fileSize > 0);
-
-               // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] isInitialized=%d - EXIT!', __METHOD__, __LINE__, intval($isInitialized)));
-               return $isInitialized;
-       }
-
-       /**
-        * Creates the assigned file
-        *
-        * @return      void
-        */
-       protected function createFileHeader () {
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] CALLED!', __METHOD__, __LINE__));
-
-               // The method flushFileHeader() must be callable
-               assert(is_callable(array($this, 'flushFileHeader')));
-
-               // The file's header should not be initialized here
-               assert(!$this->isFileHeaderInitialized());
-
-               // Simple flush file header which will create it.
-               $this->flushFileHeader();
-
-               // Rewind seek position (to beginning of file) and update/flush file header
-               $this->rewineUpdateSeekPosition();
-
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!!', __METHOD__, __LINE__));
-       }
-
        /**
         * Seeks to beginning of file, updates seek position in this object and
         * flushes the header.
@@ -3121,6 +3031,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        protected function rewineUpdateSeekPosition () {
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] CALLED!', __METHOD__, __LINE__));
 
+               // flushFileHeader must be callable
+               assert(is_callable(array($this, 'flushFileHeader')));
+
                // Seek to beginning of file
                $this->getIteratorInstance()->rewind();
 
@@ -3147,76 +3060,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!!', __METHOD__, __LINE__));
        }
 
-       /**
-        * Writes data at given position
-        *
-        * @param       $seekPosition   Seek position
-        * @param       $data                   Data to be written
-        * @param       $flushHeader    Whether to flush the header (default: flush)
-        * @return      void
-        */
-       protected function writeData ($seekPosition, $data, $flushHeader = TRUE) {
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] seekPosition=%s,data()=%s - CALLED!', __METHOD__, __LINE__, $seekPosition, strlen($data)));
-
-               // Write data at given position
-               $this->getIteratorInstance()->writeAtPosition($seekPosition, $data);
-
-               // Update seek position
-               $this->updateSeekPosition();
-
-               // Flush the header?
-               if ($flushHeader === TRUE) {
-                       // Flush header
-                       $this->flushFileHeader();
-
-                       // Seek to old position
-                       $this->seekToOldPosition();
-               } // END - if
-
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!', __METHOD__, __LINE__));
-       }
-
-       /**
-        * Pre-allocates file (if enabled) with some space for later faster write access.
-        *
-        * @param       $type   Type of the file
-        * @return      void
-        */
-       protected function preAllocateFile ($type) {
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] CALLED!', __METHOD__, __LINE__));
-
-               // caluclateMinimumBlockLength() must be callable
-               assert(is_callable(array($this, 'caluclateMinimumBlockLength')));
-
-               // Is it enabled?
-               if ($this->getConfigInstance()->getConfigEntry($type . '_pre_allocate_enabled') != 'Y') {
-                       // Not enabled
-                       self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] Not pre-allocating file.', __METHOD__, __LINE__));
-
-                       // Don't continue here.
-                       return;
-               } // END - if
-
-               // Message to user
-               self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] Pre-allocating file ...', __METHOD__, __LINE__));
-
-               // Calculate minimum length for one entry
-               $minLengthEntry = $this->caluclateMinimumBlockLength();
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] minLengthEntry=%s', __METHOD__, __LINE__, $minLengthEntry));
-
-               // Calulcate seek position
-               $seekPosition = $minLengthEntry * $this->getConfigInstance()->getConfigEntry($type . '_pre_allocate_count');
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] seekPosition=%s', __METHOD__, __LINE__, $seekPosition));
-
-               // Now simply write a NUL there. This will pre-allocate the file.
-               $this->writeData($seekPosition, chr(0));
-
-               // Rewind seek position (to beginning of file) and update/flush file header
-               $this->rewineUpdateSeekPosition();
-
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!', __METHOD__, __LINE__));
-       }
-
        /**
         * Checks whether the block separator has been found
         *