]> 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 2fb6e0fca84f824d753598c2ede1662db7dafa26..11833a18a3e4779865941edb923ca2dfc197d66c 100644 (file)
@@ -5,6 +5,7 @@ namespace Org\Mxchange\CoreFramework\Resolver\Command;
 // Import framework stuff
 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
@@ -15,7 +16,7 @@ use \InvalidArgumentException;
  *
  * @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
  *
@@ -38,7 +39,7 @@ class ConsoleCommandResolver extends BaseCommandResolver implements CommandResol
         *
         * @return      void
         */
-       protected function __construct () {
+       private function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
 
@@ -49,20 +50,24 @@ 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
         * @return      $resolverInstance                       The prepared command resolver instance
         * @throws      InvalidArgumentException        Thrown if default command is not set
         * @throws      InvalidCommandException         Thrown if default command is invalid
         */
-       public static final function createConsoleCommandResolver ($commandName) {
+       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 "commandName" is empty');
-               } elseif ($resolverInstance->isCommandValid($commandName) === false) {
+                       throw new InvalidArgumentException('Parameter "namespace" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT);
+               } elseif (empty($commandName)) {
+                       // Then thrown an exception here
+                       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);
                }