Файл: monst/Xsolla/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php
Строк: 57
<?php
namespace GuzzleServiceResource;
use GuzzleCommonExceptionInvalidArgumentException;
use GuzzleServiceCommandCommandInterface;
/**
* Abstract resource iterator factory implementation
*/
abstract class AbstractResourceIteratorFactory implements ResourceIteratorFactoryInterface
{
public function build(CommandInterface $command, array $options = array())
{
if (!$this->canBuild($command)) {
throw new InvalidArgumentException('Iterator was not found for ' . $command->getName());
}
$className = $this->getClassName($command);
return new $className($command, $options);
}
public function canBuild(CommandInterface $command)
{
return (bool) $this->getClassName($command);
}
/**
* Get the name of the class to instantiate for the command
*
* @param CommandInterface $command Command that is associated with the iterator
*
* @return string
*/
abstract protected function getClassName(CommandInterface $command);
}