protected function _createProvider()
{
if (is_array($this->_parameters['provider'])) {
return new Horde_Cli_Modular_ModuleProvider($this->_parameters['provider']);
} elseif ($this->_parameters['provider'] instanceof Horde_Cli_Modular_ModuleProvider) {
return $this->_parameters['provider'];
} elseif (is_string($this->_parameters['provider'])) {
return new $this->_parameters['provider']();
} elseif (empty($this->_parameters['provider'])) {
throw new Horde_Cli_Modular_Exception('Missing "provider" parameter!');
} else {
throw new Horde_Cli_Modular_Exception('Invalid "provider" parameter!');
}
}