]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/resolver/class_BaseResolver.php
Opps, forgot this.
[core.git] / inc / classes / main / resolver / class_BaseResolver.php
index b3c362081976b8cdd874f87d58d81705e997f7f8..e6582f1a6fc5cca54975c77008d3891aceec96f3 100644 (file)
@@ -2,11 +2,11 @@
 /**
  * A generic resolver class
  *
- * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007 - 2009 Roland Haeder, this is free software
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
- * @link               http://www.ship-simu.org
+ * @link               http://www.shipsimu.org
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -25,12 +25,23 @@ class BaseResolver extends BaseFrameworkSystem {
        /**
         * Class name
         */
-       private $className = "";
+       private $className = '';
+
+       /**
+        * Prefix for class
+        */
+       private $classPrefix = '';
+
+       /**
+        * (Last) resolved instance
+        */
+       private $resolvedInstance = NULL;
 
        // Exception constants
        const EXCEPTION_INVALID_COMMAND    = 0x1d0;
        const EXCEPTION_INVALID_CONTROLLER = 0x1d1;
        const EXCEPTION_INVALID_ACTION     = 0x1d2;
+       const EXCEPTION_INVALID_STATE      = 0x1d3;
 
        /**
         * Protected constructor
@@ -41,10 +52,31 @@ class BaseResolver extends BaseFrameworkSystem {
        protected function __construct ($className) {
                // Call parent constructor
                parent::__construct($className);
+       }
+
+       /**
+        * Getter for class name
+        *
+        * @return      $className      Name of the class
+        */
+       public final function getClassName () {
+               return $this->className;
+       }
+
+       /**
+        * "Getter" for class name (useable for an object factory)
+        *
+        * @return      $className      Capitalized class name
+        */
+       protected function getCapitalizedClassPrefix () {
+               // Get class name
+               $className = $this->getClassPrefix();
+
+               // And capitalize it
+               $className = self::convertToClassName($className);
 
-               // Clean up a little
-               $this->removeNumberFormaters();
-               $this->removeSystemArray();
+               // Return it
+               return $className;
        }
 
        /**
@@ -54,16 +86,45 @@ class BaseResolver extends BaseFrameworkSystem {
         * @return      void
         */
        protected final function setClassName ($className) {
-               $this->className = $className;
+               $this->className = (string) $className;
        }
 
        /**
-        * Getter for class name
+        * Getter for class prefix
         *
-        * @return      $className      Name of the class
+        * @return      $classPrefix    Last validated classPrefix
         */
-       public final function getClassName () {
-               return $this->className;
+       protected final function getClassPrefix () {
+               return $this->classPrefix;
+       }
+
+       /**
+        * Setter for class prefix
+        *
+        * @param       $classPrefix    Last validated classPrefix
+        * @return      void
+        */
+       protected final function setClassPrefix ($classPrefix) {
+               $this->classPrefix = (string) $classPrefix;
+       }
+
+       /**
+        * Getter for (last) resolved instance
+        *
+        * @return      $resolvedInstance       Last validated resolvedInstance
+        */
+       protected final function getResolvedInstance () {
+               return $this->resolvedInstance;
+       }
+
+       /**
+        * Setter for (last) resolved instance
+        *
+        * @param       $resolvedInstance       (Last) validated resolved instance
+        * @return      void
+        */
+       protected final function setResolvedInstance (FrameworkInterface $resolvedInstance) {
+               $this->resolvedInstance = $resolvedInstance;
        }
 }