*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 0.0.0
- * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
*/
class BaseResolver extends BaseFrameworkSystem {
/**
- * Validated command name
+ * Class name
*/
- private $commandName = "";
+ private $className = "";
- /**
- * Prefix for local, remote or other resolver
- */
- private $commandPrefix = "";
-
- /**
- * A controller instance
- */
- private $controllerInstance = null;
+ // Exception constants
+ const EXCEPTION_INVALID_COMMAND = 0x1d0;
+ const EXCEPTION_INVALID_CONTROLLER = 0x1d1;
+ const EXCEPTION_INVALID_ACTION = 0x1d2;
/**
* Protected constructor
*
+ * @param $className Real name of the class
* @return void
*/
- protected function __construct ($class) {
+ protected function __construct ($className) {
// Call parent constructor
- parent::__construct($class);
+ parent::__construct($className);
// Clean up a little
$this->removeNumberFormaters();
}
/**
- * Setter for controller instance (this surely breaks a bit the MVC patterm)
+ * Setter for class name
*
- * @param $controllerInstance An instance of the controller
+ * @param $className Name of the class
* @return void
*/
- public final function setControllerInstance (Controller $controllerInstance) {
- $this->controllerInstance = $controllerInstance;
+ protected final function setClassName ($className) {
+ $this->className = $className;
}
/**
- * Getter for controller instance (this surely breaks a bit the MVC patterm)
+ * Getter for class name
*
- * @return $controllerInstance An instance of the controller
+ * @return $className Name of the class
*/
- public final function getControllerInstance () {
- return $this->controllerInstance;
- }
-
- /**
- * Setter for command name
- *
- * @param $commandName Last validated command name
- * @return void
- */
- protected final function setCommandName ($commandName) {
- $this->commandName = $commandName;
- }
-
- /**
- * Getter for command name
- *
- * @return $commandName Last validated command name
- */
- protected final function getCommandName () {
- return $this->commandName;
- }
-
- /**
- * Setter for command prefix
- *
- * @param $commandPrefix Last validated commandPrefix
- * @return void
- */
- protected final function setCommandPrefix ($commandPrefix) {
- $this->commandPrefix = $commandPrefix;
- }
-
- /**
- * Checks wether the given command is valid
- *
- * @param $commandName The default command we shall execute
- * @return $isValid Wether the given command is valid
- * @throws EmptyVariableException Thrown if the given command is not set
- */
- public function isCommandValid ($commandName) {
- // By default nothing shall be valid
- $isValid = false;
-
- // Is a command set?
- if (empty($commandName)) {
- // Then thrown an exception here
- throw new EmptyVariableException(array($this, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
- }
-
- // Now, let us create the full name of the command class
- $class = sprintf("%s%sCommand",
- $this->commandPrefix,
- $this->convertToClassName($commandName)
- );
-
- // Is this class already loaded?
- if (class_exists($class)) {
- // This class does exist. :-)
- $isValid = true;
- }
-
- // Debug output
- //echo "<strong>----- ".__METHOD__." -----</strong><br />\n";
- //print($class."<pre>");
- //debug_print_backtrace();
- //var_dump($isValid);
- //print("</pre>");
-
- // Set command name
- $this->setCommandName($commandName);
-
- // Return the result
- return $isValid;
+ public final function getClassName () {
+ return $this->className;
}
}