X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fcity%2Fclasses%2Fresolver%2Fcontroller%2Fconsole%2Fclass_CityConsoleControllerResolver.php;fp=application%2Fcity%2Fclasses%2Fresolver%2Fcontroller%2Fconsole%2Fclass_CityConsoleControllerResolver.php;h=8bc4aed95a0b9924c3a4c5e64ef320d3bdbc14c0;hb=e846ee2bfd5833a9df8da8c5445ef7b445dcfdee;hp=0000000000000000000000000000000000000000;hpb=a4d43c71eff407c75cc8ed59bc382267c16ec52c;p=city.git diff --git a/application/city/classes/resolver/controller/console/class_CityConsoleControllerResolver.php b/application/city/classes/resolver/controller/console/class_CityConsoleControllerResolver.php new file mode 100644 index 0000000..8bc4aed --- /dev/null +++ b/application/city/classes/resolver/controller/console/class_CityConsoleControllerResolver.php @@ -0,0 +1,72 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2015 City Developer Team + * @license GNU GPL 3.0 or any newer version + * @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 + * 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 CityConsoleControllerResolver extends BaseControllerResolver implements ControllerResolver { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + + // Set prefix to 'city_console' + $this->setClassPrefix('city_console'); + } + + /** + * Creates an instance of a resolver class with a given controller + * + * @param $controllerName The controller we shall resolve + * @param $applicationInstance An instance of a manageable application helper class + * @return $resolverInstance The prepared controller resolver instance + * @throws EmptyVariableException Thrown if default controller is not set + * @throws InvalidControllerException Thrown if default controller is invalid + */ + public static final function createCityConsoleControllerResolver ($controllerName, ManageableApplication $applicationInstance) { + // Create the new instance + $resolverInstance = new CityConsoleControllerResolver(); + + // Is the variable $controllerName set and the controller is valid? + if (empty($controllerName)) { + // Then thrown an exception here + throw new EmptyVariableException(array($resolverInstance, 'controllerName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); + } elseif ($resolverInstance->isControllerValid($controllerName) === FALSE) { + // Invalid controller found + throw new InvalidControllerException(array($resolverInstance, $controllerName), self::EXCEPTION_INVALID_CONTROLLER); + } + + // Set the application instance + $resolverInstance->setApplicationInstance($applicationInstance); + + // Set controller name + $resolverInstance->setControllerName($controllerName); + + // Return the prepared instance + return $resolverInstance; + } +} + +// [EOF] +?>