]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/class_BaseFrameworkSystem.php
Using the bebug middleware class will become deprecated (now already marked
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index d523e639f4ca8af2738eaff56989cb9dbb7c136d..e3d1584869e1be61fc0b5ea8c26bbc48737a5341 100644 (file)
@@ -218,6 +218,16 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        private $communicatorInstance = NULL;
 
+       /**
+        * The concrete output instance
+        */
+       private $outputInstance = NULL;
+
+       /**
+        * State instance
+        */
+       private $stateInstance = NULL;
+
        /**
         * Thousands separator
         */
@@ -258,6 +268,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        private $controllerName = '';
 
+       /**
+        * Name of used protocol
+        */
+       private $protocolName = 'invalid';
+
        /**
         * Array with bitmasks and such for pack/unpack methods to support both
         * 32-bit and 64-bit systems
@@ -349,8 +364,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        const EXCEPTION_FILE_NOT_REACHABLE           = 0x038;
        const EXCEPTION_FILE_CANNOT_BE_READ          = 0x039;
        const EXCEPTION_FILE_CANNOT_BE_WRITTEN       = 0x03a;
-       const EXCEPTION_DATABASE_UPDATED_NOT_ALLOWED = 0x03b;
-       const EXCEPTION_FILTER_CHAIN_INTERCEPTED     = 0x03c;
+       const EXCEPTION_PATH_CANNOT_BE_WRITTEN       = 0x03b;
+       const EXCEPTION_DATABASE_UPDATED_NOT_ALLOWED = 0x03c;
+       const EXCEPTION_FILTER_CHAIN_INTERCEPTED     = 0x03d;
 
        /**
         * Hexadecimal->Decimal translation array
@@ -428,7 +444,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        }
 
        /**
-        * Destructor for all classes
+        * Destructor for all classes. You should not call this method on your own.
         *
         * @return      void
         */
@@ -475,10 +491,13 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // Init argument string
                $argsString = '';
 
-               // Is it empty or an array?
-               if (empty($args)) {
+               // Is it NULL, empty or an array?
+               if (is_null($args)) {
                        // No arguments
                        $argsString = 'NULL';
+               } elseif (empty($args)) {
+                       // Empty arguments
+                       $argsString = '(empty)';
                } elseif (is_array($args)) {
                        // Some arguments are there
                        foreach ($args as $arg) {
@@ -1530,6 +1549,44 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                $this->communicatorInstance = $communicatorInstance;
        }
 
+       /**
+        * Setter for state instance
+        *
+        * @param       $stateInstance  A Stateable instance
+        * @return      void
+        */
+       public final function setStateInstance (Stateable $stateInstance) {
+               $this->stateInstance = $stateInstance;
+       }
+
+       /**
+        * Getter for state instance
+        *
+        * @return      $stateInstance  A Stateable instance
+        */
+       public final function getStateInstance () {
+               return $this->stateInstance;
+       }
+
+       /**
+        * Setter for output instance
+        *
+        * @param       $outputInstance The debug output instance
+        * @return      void
+        */
+       public final function setOutputInstance (OutputStreamer $outputInstance) {
+               $this->outputInstance = $outputInstance;
+       }
+
+       /**
+        * Getter for output instance
+        *
+        * @return      $outputInstance The debug output instance
+        */
+       public final function getOutputInstance () {
+               return $this->outputInstance;
+       }
+
        /**
         * Setter for command name
         *
@@ -1568,6 +1625,25 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                return $this->controllerName;
        }
 
+       /**
+        * Getter for protocol name
+        *
+        * @return      $protocolName   Name of used protocol
+        */
+       public final function getProtocolName () {
+               return $this->protocolName;
+       }
+
+       /**
+        * Setter for protocol name
+        *
+        * @param       $protocolName   Name of used protocol
+        * @return      void
+        */
+       protected final function setProtocolName ($protocolName) {
+               $this->protocolName = $protocolName;
+       }
+
        /**
         * Checks whether an object equals this object. You should overwrite this
         * method to implement own equality checks
@@ -1795,6 +1871,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         *
         * @param       $className              Name of the class (currently unsupported)
         * @return      $debugInstance  An instance of a debugger class
+        * @deprecated  Not fully, as the new Logger facilities are not finished yet.
         */
        public final static function createDebugInstance ($className) {
                // Is the instance set?
@@ -1805,7 +1882,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        // Try it
                        try {
                                // Get a debugger instance
-                               $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_' . self::getResponseTypeFromSystem() . '_class'));
+                               $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_' . self::getResponseTypeFromSystem() . '_class'), $className);
                        } catch (NullPointerException $e) {
                                // Didn't work, no instance there
                                exit('Cannot create debugInstance! Exception=' . $e->__toString() . ', message=' . $e->getMessage());
@@ -2148,7 +2225,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        $configEntry = $resultInstance->getUpdateInstance()->getWrapperConfigEntry();
 
                        // Create object instance
-                       $wrapperInstance = ObjectFactory::createObjectByConfiguredName($configEntry);
+                       $wrapperInstance = DatabaseWrapperFactory::createWrapperByConfiguredName($configEntry);
 
                        // Yes, then send the whole result to the database layer
                        $wrapperInstance->doUpdateByResult($this->getResultInstance());