X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fmain%2Fvisitor%2Ftasks%2Fclass_ActiveTaskVisitor.php;h=fbc1ddad4e8076999655d77343c5587270f94108;hb=dfa91e1b5e2d0a3f68c133b3bec4fcb34e5e9c96;hp=5794ae6bc81ec67bb1a63ee67dd2590a913bde9a;hpb=ebb079776a7a148d22964dd140cf4d541fdf3826;p=hub.git diff --git a/application/hub/main/visitor/tasks/class_ActiveTaskVisitor.php b/application/hub/main/visitor/tasks/class_ActiveTaskVisitor.php index 5794ae6bc..fbc1ddad4 100644 --- a/application/hub/main/visitor/tasks/class_ActiveTaskVisitor.php +++ b/application/hub/main/visitor/tasks/class_ActiveTaskVisitor.php @@ -2,11 +2,11 @@ /** * An ActiveTask visitor * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Hub Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Hub 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 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class ActiveTaskVisitor extends BaseVisitor implements TaskVisitor, QueryVisitor, PoolVisitor { +class ActiveTaskVisitor extends BaseVisitor implements TaskVisitor, PoolVisitor, ListenerVisitor, DecoratorVisitor { /** * Protected constructor * @@ -38,9 +38,9 @@ class ActiveTaskVisitor extends BaseVisitor implements TaskVisitor, QueryVisitor /** * Creates an instance of this class * - * @return $visitorInstance An instance a Visitorable class + * @return $visitorInstance An instance a Visitorable class */ - public final static function createActiveTaskVisitor () { + public static final function createActiveTaskVisitor () { // Get new instance $visitorInstance = new ActiveTaskVisitor(); @@ -49,36 +49,54 @@ class ActiveTaskVisitor extends BaseVisitor implements TaskVisitor, QueryVisitor } /** - * Visits the given pool instance + * Visits the given task instance * - * @param $poolInstance A Taskable instance + * @param $taskInstance A Taskable instance * @return void */ public function visitTask (Taskable $taskInstance) { // Execute the task from this visitor - $taskInstance->execute(); + //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('VISITOR: Visiting task ' . $taskInstance->__toString() . ' - START'); + $taskInstance->executeTask(); + //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('VISITOR: Visiting task ' . $taskInstance->__toString() . ' - FINISHED'); } /** - * Query visitor method for active tasks + * Pool visitor method for active tasks * - * @param $queryInstance A Queryable instance + * @param $poolInstance A Poolable instance * @return void */ - public function visitQuery (Queryable $queryInstance) { - // Handle all queries - $queryInstance->handleQueries(); + public function visitPool (Poolable $poolInstance) { + /** + * We don't need to visit a pool as an active task because a pool can + * never become a task. Instead e.g. by a listener pool we should visit + * all listeners one by one + */ } /** - * Pool visitor method for active tasks + * Visits the given listener instance * - * @param $poolInstance A Poolable instance + * @param $listenerInstance A Listenable instance * @return void */ - public function visitPool (Poolable $poolInstance) { - // We don't need to visit a pool as an active task because a pool can - // never become a task. + public function visitListener (Listenable $listenerInstance) { + // Do "listen" here + //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('VISITOR: Visiting ' . $listenerInstance->__toString() . ' - START'); + $listenerInstance->doListen(); + //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('VISITOR: Visiting ' . $listenerInstance->__toString() . ' - FINISH'); + } + + /** + * Visits the given decorator instance + * + * @param $decoratorInstance A decorator instance + * @return void + */ + public function visitDecorator (BaseDecorator $decoratorInstance) { + // A decorator itself can never become an active task so this method + // remains empty. } }