* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Hub Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @todo Find an interface for: handleAllQueries() * * 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 * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ class LocalQueryConnector extends BaseQueryConnector implements Connectable, Visitable { /** * The query class instance */ private $queryInstance = null; /** * Protected constructor * * @return void */ protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); // Init query instance $this->queryInstance = ObjectFactory::createObjectByConfiguredName('local_query_class'); } /** * Creates an instance of this query connector class * * @param $nodeInstance An instance of a node * @return $connectorInstance An instance of this query connector class */ public final static function createLocalQueryConnector (NodeHelper $nodeInstance) { // Create the instance $connectorInstance = new LocalQueryConnector(); // Set the node instance $connectorInstance->setNodeInstance($nodeInstance); // Get a list instance $listInstance = ObjectFactory::createObjectByConfiguredName('local_query_list_class'); // Set it in the connector $connectorInstance->setListInstance($listInstance); // Finally return the connector return $connectorInstance; } /** * Accepts the visitor to rpocess the visit "request" * * @param $visitorInstance An instance of a Visitor class * @return void */ public function accept (Visitor $visitorInstance) { // Visit the query connector $visitorInstance->visitQueryConnector($this); // Visit the query as well $this->queryInstance->accept($visitorInstance); } } // [EOF] ?>