Iterator instance is now handled in BaseFrameworkSystem class
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index 9f5ede14c4ff00a36c0aeffe0044b249a3f38345..0b5ce31099294001468444eda7f8daac25122f09 100644 (file)
@@ -73,10 +73,20 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        private $controllerInstance = null;
 
+       /**
+        * Instance of a RNG
+        */
+       private $rngInstance = null;
+
+       /**
+        * Instance of an Iterator class
+        */
+       private $iteratorInstance = null;
+
        /**
         * The real class name
         */
-       private $realClass      = 'FrameworkSystem';
+       private $realClass      = 'BaseFrameworkSystem';
 
        /**
         * Thousands seperator
@@ -270,19 +280,19 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        $this->setConfigInstance(FrameworkConfiguration::getInstance());
 
                        // Add application helper to our class
-                       $this->systemclasses[] = $this->getConfigInstance()->readConfig('app_helper_class');
+                       $this->systemclasses[] = $this->getConfigInstance()->getConfigEntry('app_helper_class');
 
                        // Set debug instance
-                       $this->setDebugInstance(DebugMiddleware::createDebugMiddleware($this->getConfigInstance()->readConfig('debug_class')));
+                       $this->setDebugInstance(DebugMiddleware::createDebugMiddleware($this->getConfigInstance()->getConfigEntry('debug_class')));
 
                        // Get output instance and set it
-                       $outputInstance = ObjectFactory::createObjectByConfiguredName('output_class', array($this->getConfigInstance()->readConfig('web_content_type')));
+                       $outputInstance = ObjectFactory::createObjectByConfiguredName('output_class', array($this->getConfigInstance()->getConfigEntry('web_content_type')));
                        $this->setWebOutputInstance($outputInstance);
 
                        // Set the compressor channel
                        $this->setCompressorChannel(CompressorChannel::createCompressorChannel(
-                               $this->getConfigInstance()->readConfig('base_path').
-                               $this->getConfigInstance()->readConfig('compressor_base_path')
+                               $this->getConfigInstance()->getConfigEntry('base_path').
+                               $this->getConfigInstance()->getConfigEntry('compressor_base_path')
                        ));
 
                        // Initialization done! :D
@@ -590,27 +600,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                return ($this->__toString() == $className);
        }
 
-       /**
-        * Stub method (only real cabins shall override it)
-        *
-        * @return      boolean false = is no cabin, true = is a cabin
-        * @deprecated
-        */
-       public function isCabin () {
-               return false;
-       }
-
-       /**
-        * Stub method for tradeable objects
-        *
-        * @return      boolean false = is not tradeable by the Merchant class,
-        *                                      true  = is a tradeable object
-        * @deprecated
-        */
-       public function isTradeable () {
-               return false;
-       }
-
        /**
         * Formats computer generated price values into human-understandable formats
         * with thousand and decimal seperators.
@@ -968,7 +957,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                                        $timeArray = explode(':', $dateTime[1]);
 
                                        // Construct the timestamp
-                                       $readable = sprintf($this->getConfigInstance()->readConfig('german_date_time'),
+                                       $readable = sprintf($this->getConfigInstance()->getConfigEntry('german_date_time'),
                                                $dateArray[0],
                                                $dateArray[1],
                                                $dateArray[2],
@@ -1136,6 +1125,69 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        $this->partialStub('Developer mode inactive. Message:' . $message);
                }
        }
+
+       /**
+        * Generates a generic hash code of this class. You should really overwrite
+        * this method with your own hash code generator code. But keep KISS in mind.
+        *
+        * @return      $hashCode       A generic hash code respresenting this whole class
+        */
+       public function hashCode () {
+               // Simple hash code
+               return crc32($this->__toString());
+       }
+
+       /**
+        * Checks wether the given PHP extension is loaded
+        *
+        * @param       $phpExtension   The PHP extension we shall check
+        * @return      $isLoaded       Wether the PHP extension is loaded
+        */
+       public final function isPhpExtensionLoaded ($phpExtension) {
+               // Is it loaded?
+               $isLoaded = in_array($phpExtension, get_loaded_extensions());
+
+               // Return result
+               return $isLoaded;
+       }
+
+       /**
+        * Setter for RNG instance
+        *
+        * @param       $rngInstance    An instance of a random number generator (RNG)
+        * @return      void
+        */
+       protected final function setRngInstance (RandomNumberGenerator $rngInstance) {
+               $this->rngInstance = $rngInstance;
+       }
+
+       /**
+        * Getter for RNG instance
+        *
+        * @return      $rngInstance    An instance of a random number generator (RNG)
+        */
+       public final function getRngInstance () {
+               return $this->rngInstance;
+       }
+
+       /**
+        * Setter for Iterator instance
+        *
+        * @param       $iteratorInstance       An instance of an Iterator
+        * @return      void
+        */
+       protected final function setIteratorInstance (Iterator $iteratorInstance) {
+               $this->iteratorInstance = $iteratorInstance;
+       }
+
+       /**
+        * Getter for Iterator instance
+        *
+        * @return      $iteratorInstance       An instance of an Iterator
+        */
+       public final function getIteratorInstance () {
+               return $this->iteratorInstance;
+       }
 }
 
 // [EOF]