* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class BaseResolver extends BaseFrameworkSystem {
- /**
- * Validated command name
- */
- private $commandName = "";
-
- /**
- * Prefix for local, remote or other resolver
- */
- private $commandPrefix = "";
-
- /**
- * A controller instance
- */
- private $controllerInstance = null;
+ // Exception constants
+ const EXCEPTION_INVALID_COMMAND = 0x0c0;
+ const EXCEPTION_INVALID_CONTROLLER = 0x0c1;
+ const EXCEPTION_INVALID_ACTION = 0x0c2;
/**
* 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();
$this->removeSystemArray();
}
-
- /**
- * Setter for controller instance (this surely breaks a bit the MVC patterm)
- *
- * @param $controllerInstance An instance of the controller
- * @return void
- */
- public final function setControllerInstance (Controller $controllerInstance) {
- $this->controllerInstance = $controllerInstance;
- }
-
- /**
- * Getter for controller instance (this surely breaks a bit the MVC patterm)
- *
- * @return $controllerInstance An instance of the controller
- */
- 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
- //* DEBUG: */ $this->debugBacktrace();
-
- // Set command name
- $this->setCommandName($commandName);
-
- // Return the result
- return $isValid;
- }
}
// [EOF]