* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 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 BaseCitySystem extends BaseFrameworkSystem { // Exception codes const EXCEPTION_UNSUPPORTED_ERROR_HANDLER = 0x900; const EXCEPTION_BASE64_ENCODING_NOT_MODULO_4 = 0x901; // Message status codes const MESSAGE_STATUS_CODE_OKAY = 'OKAY'; /** * An instance of a city */ private $cityInstance = NULL; /** * An instance of a communicator */ private $stateInstance = NULL; /** * An instance of a communicator */ private $communicatorInstance = NULL; /** * Protected constructor * * @param $className Name of the class * @return void */ protected function __construct ($className) { // Call parent constructor parent::__construct($className); } /** * Getter for city instance * * @return $cityInstance An instance of a city city */ public final function getCityInstance () { return $this->cityInstance; } /** * Setter for city instance * * @param $cityInstance An instance of a city city * @return void */ protected final function setCityInstance (CityHelper $cityInstance) { $this->cityInstance = $cityInstance; } /** * Getter for communicator instance * * @return $communicatorInstance An instance of a Communicator class */ public final function getCommunicatorInstance () { return $this->communicatorInstance; } /** * Setter for communicator instance * * @param $communicatorInstance An instance of a Communicator class * @return void */ protected final function setCommunicatorInstance (Communicator $communicatorInstance) { $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; } /** * "Getter" for a printable state name * * @return $stateName Name of the city's state in a printable format */ public final function getPrintableState () { // Default is 'null' $stateName = 'null'; // Get the state instance $stateInstance = $this->getStateInstance(); // Is it an instance of Stateable? if ($stateInstance instanceof Stateable) { // Then use that state name $stateName = $stateInstance->getStateName(); } // END - if // Return result return $stateName; } } // [EOF] ?>