]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/index/class_BaseIndex.php
Interface 'Block' is implemented also here ...
[core.git] / inc / classes / main / index / class_BaseIndex.php
index 45bbebceef49527940185ca56126e4bfeb2c25ac..beda05c372ac306a299b90749905f6722e0ee333 100644 (file)
@@ -66,7 +66,7 @@ class BaseIndex extends BaseFrameworkSystem {
                $data = substr($data, 0, -1);
 
                // And update seek position
-               $this->updateSeekPosition();
+               $this->getIteratorInstance()->updateSeekPosition();
 
                /*
                 * Now split it:
@@ -77,7 +77,7 @@ class BaseIndex extends BaseFrameworkSystem {
                $header = explode(chr(BaseFile::SEPARATOR_HEADER_DATA), $data);
 
                // Set it here
-               $this->setHeader($header);
+               $this->getIteratorInstance()->setHeader($header);
 
                // Check if the array has only 3 elements
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] header(%d)=%s', __METHOD__, __LINE__, count($header), print_r($header, TRUE)));
@@ -115,7 +115,7 @@ class BaseIndex extends BaseFrameworkSystem {
                        chr(BaseFile::SEPARATOR_HEADER_DATA),
 
                        // Total entries
-                       str_pad($this->dec2hex($this->getCounter()), BaseFile::LENGTH_COUNT, '0', STR_PAD_LEFT),
+                       str_pad($this->dec2hex($this->getIteratorInstance()->getCounter()), BaseFile::LENGTH_COUNT, '0', STR_PAD_LEFT),
 
                        // Separator header<->entries
                        chr(BaseFile::SEPARATOR_HEADER_ENTRIES)
@@ -220,6 +220,91 @@ class BaseIndex extends BaseFrameworkSystem {
        public function getFileName () {
                throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
        }
+
+       /**
+        * Initializes counter for valid entries, arrays for damaged entries and
+        * an array for gap seek positions. If you call this method on your own,
+        * please re-analyze the file structure. So you are better to call
+        * analyzeFile() instead of this method.
+        *
+        * @return      void
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public function initCountersGapsArray () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Getter for header size
+        *
+        * @return      $totalEntries   Size of file header
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public final function getHeaderSize () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Setter for header size
+        *
+        * @param       $headerSize             Size of file header
+        * @return      void
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public final function setHeaderSize ($headerSize) {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Getter for header array
+        *
+        * @return      $totalEntries   Size of file header
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public final function getHeader () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Setter for header
+        *
+        * @param       $header         Array for a file header
+        * @return      void
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public final function setHeader (array $header) {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Updates seekPosition attribute from file to avoid to much access on file.
+        *
+        * @return      void
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public function updateSeekPosition () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Getter for total entries
+        *
+        * @return      $totalEntries   Total entries in this file
+        * @throws      UnsupportedOperationException   This method is not (and maybe never will be) supported
+        */
+       public final function getCounter () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__, $this->getIteratorInstance()->getPointerInstance()), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * "Getter" for file size
+        *
+        * @return      $fileSize       Size of currently loaded file
+        */
+       public function getFileSize () {
+               // Call iterator's method
+               return $this->getIteratorInstance()->getFileSize();
+       }
 }
 
 // [EOF]