4 * This file is part of the Behat.
5 * (c) Konstantin Kudryashov <ever.zet@gmail.com>
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
11 namespace Behat\Behat\Context\Argument;
13 use Behat\Testwork\Environment\Environment;
16 * Composite factory. Delegates to other (registered) factories to do the job.
18 * @see ContextEnvironmentHandler
20 * @author Konstantin Kudryashov <ever.zet@gmail.com>
22 final class CompositeArgumentResolverFactory implements ArgumentResolverFactory
25 * @var ArgumentResolverFactory[]
27 private $factories = array();
32 * @param ArgumentResolverFactory $factory
34 public function registerFactory(ArgumentResolverFactory $factory)
36 $this->factories[] = $factory;
42 public function createArgumentResolvers(Environment $environment)
46 function (array $resolvers, ArgumentResolverFactory $factory) use ($environment) {
47 return array_merge($resolvers, $factory->createArgumentResolvers($environment));