]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/iterator/file/class_FileIterator.php
WIP:
[core.git] / framework / main / classes / iterator / file / class_FileIterator.php
index f6eaaae307c09619750e560be0008638f6d14398..ac47c77484d86fabde630fd6784abdbcf38f52ab 100644 (file)
@@ -227,11 +227,11 @@ class FileIterator extends BaseIterator implements SeekableWritableFileIterator
         */
        public function analyzeFileStructure () {
                // Just call the file instance
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('FILE-ITERATOR: CALLED!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('FILE-ITERATOR: CALLED!');
                $this->getBinaryFileInstance()->analyzeFileStructure();
 
                // Trace message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('FILE-ITERATOR: EXIT!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('FILE-ITERATOR: EXIT!');
        }
 
        /**
@@ -279,6 +279,7 @@ class FileIterator extends BaseIterator implements SeekableWritableFileIterator
                }
 
                // Just call the file instance
+               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FILE-ITERATOR: Calling this->binaryFileInstance->preAllocateFile(%s) ...', $type));
                $this->getBinaryFileInstance()->preAllocateFile($type);
 
                // Trace message
@@ -550,4 +551,20 @@ class FileIterator extends BaseIterator implements SeekableWritableFileIterator
                return $seekPosition;
        }
 
+       /**
+        * Checks whether the abstracted file only contains gaps by counting all
+        * gaps' bytes together and compare it to total length.
+        *
+        * @return      $isGapsOnly             Whether the abstracted file only contains gaps
+        */
+       public function isFileGapsOnly () {
+               // Call file instance
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('FILE-ITERATOR: CALLED!');
+               $isGapsOnly = $this->getBinaryFileInstance()->isFileGapsOnly();
+
+               // Return position
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FILE-ITERATOR: isGapsOnly=%d - EXIT!', $isGapsOnly));
+               return $isGapsOnly;
+       }
+
 }