]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/handler/tasks/class_TaskHandler.php
Continued:
[core.git] / framework / main / classes / handler / tasks / class_TaskHandler.php
index dfdff9a295f6dba459b040ba8841ce83d12ab842..3bbe3938e686b4803e8e5a975beb39e5e62ca8b4 100644 (file)
@@ -6,11 +6,12 @@ namespace Org\Mxchange\CoreFramework\Handler\Task;
 use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap;
 use Org\Mxchange\CoreFramework\Factory\ObjectFactory;
 use Org\Mxchange\CoreFramework\Handler\BaseHandler;
-use Org\Mxchange\CoreFramework\Lists\Listable;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
 use Org\Mxchange\CoreFramework\Task\Taskable;
+use Org\Mxchange\CoreFramework\Traits\Iterator\IteratorTrait;
+use Org\Mxchange\CoreFramework\Traits\Lists\ListableTrait;
+use Org\Mxchange\CoreFramework\Traits\Visitor\VisitorTrait;
 use Org\Mxchange\CoreFramework\Visitor\Visitable;
-use Org\Mxchange\CoreFramework\Visitor\Visitor;
 
 /**
  * A Task handler
@@ -35,19 +36,14 @@ use Org\Mxchange\CoreFramework\Visitor\Visitor;
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
+       // Load traits
+       use IteratorTrait;
+       use ListableTrait;
+       use VisitorTrait;
+
        // Exception constants
        const EXCEPTION_TASK_IS_INVALID = 0xb00;
 
-       /**
-        * Visitor handler instance
-        */
-       private $visitorInstance = NULL;
-
-       /**
-        * Instance of the list
-        */
-       private $listInstance = NULL;
-
        /**
         * Protected constructor
         *
@@ -93,44 +89,6 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                return $handlerInstance;
        }
 
-       /**
-        * Setter for visitor instance
-        *
-        * @param       $visitorInstance        An instance of a Visitor class
-        * @return      void
-        */
-       protected final function setVisitorInstance (Visitor $visitorInstance) {
-               $this->visitorInstance = $visitorInstance;
-       }
-
-       /**
-        * Getter for visitor instance
-        *
-        * @return      $visitorInstance        An instance of a Visitor class
-        */
-       protected final function getVisitorInstance () {
-               return $this->visitorInstance;
-       }
-
-       /**
-        * Setter for the list instance
-        *
-        * @param       $listInstance   A list of Listable
-        * @return      void
-        */
-       protected final function setListInstance (Listable $listInstance) {
-               $this->listInstance = $listInstance;
-       }
-
-       /**
-        * Getter for the list instance
-        *
-        * @return      $listInstance   A list of Listable
-        */
-       protected final function getListInstance () {
-               return $this->listInstance;
-       }
-
        /**
         * Tries to execute the given task. If as task should not be started (yet)
         * or the interval time (see task_interval_delay) is not yet reached the
@@ -147,7 +105,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                if (!$this->getListInstance()->getIterator()->valid()) {
                        // Not valid!
                        throw new InvalidTaskException($this, self::EXCEPTION_TASK_IS_INVALID);
-               } // END - if
+               }
 
                // Get current task
                $currentTask = $this->getListInstance()->getIterator()->current();
@@ -162,7 +120,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                                // Skip this silently
                                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK-HANDLER: Task ' . $currentTask['id'] . ' not started: diff=' . $diff . ',task_startup_delay=' . $currentTask['task_startup_delay']);
                                return;
-                       } // END - if
+                       }
 
                        // Launch the task and mark it as updated
                        $currentTask['task_started'] = true;
@@ -170,7 +128,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
 
                        // Debug message
                        self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK-HANDLER: Task ' . $currentTask['id'] . ' started with startup_delay=' . $currentTask['task_startup_delay'] . 'ms');
-               } // END - if
+               }
 
                // Get time difference from interval delay
                $diff = ($this->getMilliTime() - $currentTask['task_last_activity']) * 1000;
@@ -184,11 +142,11 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                        if ($updateTask === true) {
                                // Update the task before leaving
                                $this->updateTask($currentTask);
-                       } // END - if
+                       }
 
                        // Skip this silently
                        return;
-               } // END - if
+               }
 
                // Set last activity
                $currentTask['task_last_activity'] = $this->getMilliTime();
@@ -260,8 +218,8 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
 
                                // Abort here
                                break;
-                       } // END - if
-               } // END - foreach
+                       }
+               }
 
                // Return found name
                return $taskName;
@@ -271,10 +229,10 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
         * Registers a task with a task handler.
         *
         * @param       $taskName               A task name to register the task on
-        * @param       $taskInstance   The instance that should be registered as a task
+        * @param       $taskInstance   An instance of a Taskable class
         * @return      void
         */
-       public function registerTask ($taskName, Visitable $taskInstance) {
+       public function registerTask (string $taskName, Taskable $taskInstance) {
                // Get interval delay
                $intervalDelay = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('task_' . $taskName . '_interval_delay');
                $startupDelay  = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('task_' . $taskName . '_startup_delay');
@@ -285,7 +243,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                assert(($taskName === 'idle_loop') || (($taskName != 'idle_loop') && ($startupDelay > 0)));
 
                // Create the entry
-               $taskEntry = array(
+               $taskEntry = [
                        // Identifier for the generateHash() method
                        'id'                  => $taskName,
                        // Whether the task is started
@@ -308,7 +266,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                        'task_interval_delay' => $intervalDelay,
                        // How often should this task run?
                        'task_max_runs'       => FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('task_' . $taskName . '_max_runs'),
-               );
+               ];
 
                // Add the entry
                $this->getListInstance()->addEntry('tasks', $taskEntry);
@@ -348,7 +306,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                if (!$this->getListInstance()->getIterator()->valid()) {
                        // Rewind to the beginning for next loop
                        $this->getListInstance()->getIterator()->rewind();
-               } // END - if
+               }
 
                // Try to execute the task
                $this->executeCurrentTask();
@@ -371,7 +329,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK-HANDLER: Shutting down all ' . $this->getListInstance()->count() . ' tasks...');
 
                // Remember all tasks that has been shutdown for removal
-               $tasks = array();
+               $tasks = [];
 
                // Instance a visitor
                $this->setVisitorInstance(ObjectFactory::createObjectByConfiguredName('shutdown_task_visitor_class'));
@@ -392,7 +350,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
 
                        // Advance to next one
                        $this->getListInstance()->getIterator()->next();
-               } // END - while
+               }
 
                // Debug message
                self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK-HANDLER: Shutdown of all tasks completed.');
@@ -400,7 +358,7 @@ class TaskHandler extends BaseHandler implements Registerable, HandleableTask {
                // Remove all tasks
                foreach ($tasks as $entry) {
                        $this->unregisterTask($entry);
-               } // END - foreach
+               }
        }
 
 }