State (see State Pattern) prepared, a lot reworked/refactured
[core.git] / inc / classes / main / registry / class_Registry.php
index 876f7e380edb6d5be4cbb2a8fea963d6aae70cad..35867f05fdab7257e7a979923ce044a166a9eb40 100644 (file)
@@ -28,11 +28,6 @@ class Registry extends BaseFrameworkSystem implements Register {
         */
        private static $registryInstance = null;
 
-       /**
-        * Wether the registry is initialized
-        */
-       private static $initialized = false;
-
        /**
         * Instance registry
         */
@@ -65,26 +60,6 @@ class Registry extends BaseFrameworkSystem implements Register {
                return self::$registryInstance;
        }
 
-       /**
-        * Checks or sets wether the registry has been initialized. This had only
-        * be done once.
-        *
-        * @param       $initialized    Wether the registry is initialized
-        * @return      $initialized    Wether the registry is initialized
-        */
-       public final static function isInitialized ($initialized = null) {
-               // If no parameter (null by default) is provided we want to get the
-               // parameter. If set to e.g. 'OK' then the registry is set to
-               // "initialized".
-               if (is_null($initialized)) {
-                       // Get status if initialized
-                       return self::$initialized;
-               } else {
-                       // Registry is initialized!
-                       self::$initialized = true;
-               }
-       }
-
        /**
         * Checks wether an instance key was found
         *
@@ -115,6 +90,7 @@ class Registry extends BaseFrameworkSystem implements Register {
         *
         * @param       $instanceKey            The key to identify the instance
         * @return      $objectInstance         An instance we shall store
+        * @throws      NullPointerException    If the requested key is not found
         */
        public function getInstance ($instanceKey) {
                // By default the instance is not in registry
@@ -125,6 +101,12 @@ class Registry extends BaseFrameworkSystem implements Register {
                        $objectInstance = $this->instanceRegistry[$instanceKey];
                } // END - if
 
+               // Still not fetched?
+               if (is_null($objectInstance)) {
+                       // This might happen if a non-registered key was requested
+                       throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
+               } // END - if
+
                // Return the result
                return $objectInstance;
        }