Iterator instance is now handled in BaseFrameworkSystem class
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index 8976961e03920bac0183f0a8f4243311655a1ecf..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
@@ -1115,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]