use Org\Mxchange\CoreFramework\Registry\GenericRegistry;
use Org\Mxchange\CoreFramework\Registry\Registerable;
use Org\Mxchange\CoreFramework\Request\Requestable;
+use Org\Mxchange\CoreFramework\Resolver\Resolver;
use Org\Mxchange\CoreFramework\Response\Responseable;
/**
*
* @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 - 2020 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
const FILTER_CHAIN_PRE_COMMAND = 'controller_pre_command';
const FILTER_CHAIN_POST_COMMAND = 'controller_post_command';
+ /**
+ * Resolver instance
+ */
+ private $resolverInstance = NULL;
+
/**
* Generic filter chains
*/
- private $filterChains = array();
+ private $filterChains = [];
/**
* Protected constructor
* @param $className Name of the class
* @return void
*/
- protected function __construct ($className) {
+ protected function __construct (string $className) {
// Call parent constructor
parent::__construct($className);
GenericRegistry::getRegistry()->addInstance('controller', $this);
}
+ /**
+ * Setter for resolver instance
+ *
+ * @param $resolverInstance Instance of a command resolver class
+ * @return void
+ */
+ protected final function setResolverInstance (Resolver $resolverInstance) {
+ $this->resolverInstance = $resolverInstance;
+ }
+
+ /**
+ * Getter for resolver instance
+ *
+ * @return $resolverInstance Instance of a command resolver class
+ */
+ protected final function getResolverInstance () {
+ return $this->resolverInstance;
+ }
+
/**
* Executes a command with pre and post filters
*
$formAction = $requestInstance->getRequestElement('form');
// Get command instance from resolver
- $commandInstance = $this->getResolverInstance()->resolveCommand($formAction);
+ $commandInstance = $this->getResolverInstance()->resolveCommand('Org\Mxchange\CoreFramework\Command\Failed', $formAction);
// Add more filters by the command
$commandInstance->addExtraFilters($this, $requestInstance);