]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/resolver/command/console/class_ConsoleCommandResolver.php
Continued:
[core.git] / framework / main / classes / resolver / command / console / class_ConsoleCommandResolver.php
index 17a29204ba334b9b5b74b9d9610a87a3bb418c20..11833a18a3e4779865941edb923ca2dfc197d66c 100644 (file)
@@ -1,20 +1,22 @@
 <?php
 // Own namespace
-namespace CoreFramework\Resolver\Command;
+namespace Org\Mxchange\CoreFramework\Resolver\Command;
 
 // Import framework stuff
-use CoreFramework\Command\BaseCommand;
-use CoreFramework\Command\InvalidCommandException;
-use CoreFramework\Generic\EmptyVariableException;
-use CoreFramework\Manager\ManageableApplication;
-use CoreFramework\Resolver\Command\CommandResolver;
+use Org\Mxchange\CoreFramework\Command\BaseCommand;
+use Org\Mxchange\CoreFramework\Command\InvalidCommandException;
+use Org\Mxchange\CoreFramework\Generic\FrameworkInterface;
+use Org\Mxchange\CoreFramework\Resolver\Command\CommandResolver;
+
+// Import SPL stuff
+use \InvalidArgumentException;
 
 /**
  * A command resolver for local (non-hubbed) web commands
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2023 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -37,7 +39,7 @@ class ConsoleCommandResolver extends BaseCommandResolver implements CommandResol
         *
         * @return      void
         */
-       protected function __construct () {
+       private function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
 
@@ -48,28 +50,28 @@ class ConsoleCommandResolver extends BaseCommandResolver implements CommandResol
        /**
         * Creates an instance of a Console command resolver with a given default command
         *
+        * @param       $namespace                                      Namespace of the command's class file
         * @param       $commandName                            The default command we shall execute
-        * @param       $applicationInstance            An instance of a manageable application helper class
         * @return      $resolverInstance                       The prepared command resolver instance
-        * @throws      EmptyVariableException          Thrown if default command is not set
+        * @throws      InvalidArgumentException        Thrown if default command is not set
         * @throws      InvalidCommandException         Thrown if default command is invalid
         */
-       public static final function createConsoleCommandResolver ($commandName, ManageableApplication $applicationInstance) {
+       public static final function createConsoleCommandResolver (string $namespace, string $commandName) {
                // Create the new instance
                $resolverInstance = new ConsoleCommandResolver();
 
                // Is the variable $commandName set and the command is valid?
-               if (empty($commandName)) {
+               if (empty($namespace)) {
+                       // Then thrown an exception here
+                       throw new InvalidArgumentException('Parameter "namespace" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT);
+               } elseif (empty($commandName)) {
                        // Then thrown an exception here
-                       throw new EmptyVariableException(array($resolverInstance, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
-               } elseif ($resolverInstance->isCommandValid($commandName) === false) {
+                       throw new InvalidArgumentException('Parameter "commandName" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT);
+               } elseif (!$resolverInstance->isCommandValid($namespace, $commandName)) {
                        // Invalid command found
                        throw new InvalidCommandException(array($resolverInstance, $commandName), self::EXCEPTION_INVALID_COMMAND);
                }
 
-               // Set the application instance
-               $resolverInstance->setApplicationInstance($applicationInstance);
-
                // Return the prepared instance
                return $resolverInstance;
        }