]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/application/class_BaseApplication.php
Continued:
[core.git] / framework / main / classes / application / class_BaseApplication.php
index cc541e3e5c6c1083aff673b2eb3dcc3b760a532e..deb2f7af5afe453bf26cad0262fcefc5123a660c 100644 (file)
@@ -3,6 +3,8 @@
 namespace Org\Mxchange\CoreFramework\Application;
 
 // Import framework stuff
+use Org\Mxchange\CoreFramework\Controller\Controller;
+use Org\Mxchange\CoreFramework\Manager\ManageableApplication;
 use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
 use Org\Mxchange\CoreFramework\Registry\GenericRegistry;
 
@@ -29,6 +31,31 @@ use Org\Mxchange\CoreFramework\Registry\GenericRegistry;
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 abstract class BaseApplication extends BaseFrameworkSystem {
+       /**
+        * The version number of this application
+        */
+       private $appVersion = '';
+
+       /**
+        * The human-readable name for this application
+        */
+       private $appName = '';
+
+       /**
+        * The short uni*-like name for this application
+        */
+       private $shortName = '';
+
+       /**
+        * Own singleton instance of this application helper
+        */
+       private static $applicationInstance = NULL;
+
+       /**
+        * A controller instance
+        */
+       private $controllerInstance = NULL;
+
        /**
         * Protected constructor
         *
@@ -43,4 +70,101 @@ abstract class BaseApplication extends BaseFrameworkSystem {
                GenericRegistry::getRegistry()->addInstance('application', $this);
        }
 
+       /**
+        * Getter for own instance
+        *
+        * @return      $applicationInstance    An instance of a ManageableApplication class
+        */
+       public static final function getApplicationInstance () {
+               return self::$applicationInstance;
+       }
+
+       /**
+        * Setter for own instance
+        *
+        * @param       $applicationInstance    An instance of a ManageableApplication class
+        */
+       public static final function setApplicationInstance (ManageableApplication $applicationInstance) {
+               self::$applicationInstance = $applicationInstance;
+       }
+
+       /**
+        * Setter for controller instance (this surely breaks a bit the MVC patterm)
+        *
+        * @param       $controllerInstance             An instance of the controller
+        * @return      void
+        */
+       public final function setControllerInstance (Controller $controllerInstance) {
+               $this->controllerInstance = $controllerInstance;
+       }
+
+       /**
+        * Getter for controller instance (this surely breaks a bit the MVC patterm)
+        *
+        * @return      $controllerInstance             An instance of the controller
+        */
+       public final function getControllerInstance () {
+               return $this->controllerInstance;
+       }
+
+       /**
+        * Getter for the version number
+        *
+        * @return      $appVersion     The application's version number
+        */
+       public final function getAppVersion () {
+               return $this->appVersion;
+       }
+
+       /**
+        * Setter for the version number
+        *
+        * @param       $appVersion     The application's version number
+        * @return      void
+        */
+       public final function setAppVersion (string $appVersion) {
+               // Cast and set it
+               $this->appVersion = $appVersion;
+       }
+
+       /**
+        * Getter for human-readable name
+        *
+        * @return      $appName        The application's human-readable name
+        */
+       public final function getAppName () {
+               return $this->appName;
+       }
+
+       /**
+        * Setter for human-readable name
+        *
+        * @param       $appName        The application's human-readable name
+        * @return      void
+        */
+       public final function setAppName (string $appName) {
+               // Cast and set it
+               $this->appName = $appName;;
+       }
+
+       /**
+        * Getter for short uni*-like name
+        *
+        * @return      $shortName      The application's short uni*-like name
+        */
+       public final function getAppShortName () {
+               return $this->shortName;
+       }
+
+       /**
+        * Setter for short uni*-like name
+        *
+        * @param       $shortName      The application's short uni*-like name
+        * @return      void
+        */
+       public final function setAppShortName (string $shortName) {
+               // Cast and set it
+               $this->shortName = (string) $shortName;
+       }
+
 }