]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/class_BaseFrameworkSystem.php
No iterator call here + added assertion.
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index 707f5600a6ae6b8bccfa74d914905939973003dd..214f2a9f68be77cbdb664148c6109567daa9f68e 100644 (file)
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
+       /**
+        * Separator for header data
+        */
+       const SEPARATOR_HEADER_DATA = 0x01;
+
+       /**
+        * Separator header->entries
+        */
+       const SEPARATOR_HEADER_ENTRIES = 0x02;
+
+       /**
+        * Separator hash->name
+        */
+       const SEPARATOR_HASH_NAME = 0x03;
+
+       /**
+        * Separator entry->entry
+        */
+       const SEPARATOR_ENTRIES = 0x04;
+
        /**
         * Length of count
         */
@@ -33,6 +53,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        const LENGTH_POSITION = 20;
 
+       /**
+        * Length of name
+        */
+       const LENGTH_NAME = 10;
+
        /**
         * The real class name
         */
@@ -2921,7 +2946,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         *
         * @return      $totalEntries   Size of file header
         */
-       protected final function getHeaderSize () {
+       public final function getHeaderSize () {
                // Get it
                return $this->headerSize;
        }
@@ -3043,8 +3068,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        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->getIteratorInstance()->size();
+               $fileSize = $this->size();
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] fileSize=%s', __METHOD__, __LINE__, $fileSize));
 
                /*
@@ -3188,6 +3216,29 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
 
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!', __METHOD__, __LINE__));
        }
+
+       /**
+        * Checks whether the block separator has been found
+        *
+        * @param       $str            String to look in
+        * @return      $isFound        Whether the block separator has been found
+        */
+       public function isBlockSeparatorFound ($str) {
+               // Determine it
+               $isFound = (strpos($str, self::getBlockSeparator()) !== FALSE);
+
+               // Return result
+               return $isFound;
+       }
+
+       /**
+        * Getter for block separator character(s)
+        *
+        * @return      $blockSeparator         A separator for blocks
+        */
+       protected static final function getBlockSeparator () {
+               return chr(self::SEPARATOR_ENTRIES);
+       }
 }
 
 // [EOF]