NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class CompositeWaiterFactory

Factory that utilizes multiple factories for creating waiters

  Aws\Common\Waiter\CompositeWaiterFactory implements Aws\Common\Waiter\WaiterFactoryInterface

Namespace: Aws\Common\Waiter
Located at Aws/Common/Waiter/CompositeWaiterFactory.php

## Methods summary

- `public` `__construct ( array $factories )`
- `public` `build ( string $waiter )`

  Create a waiter by name

- `public` `canBuild ( string $waiter )`

  Check if the factory can create a waiter by a specific name

- `public` `addFactory ( Aws\Common\Waiter\WaiterFactoryInterface $factory )`

  Add a factory to the composite factory

- `protected` `getFactory ( string $waiter )`

  Get the factory that matches the waiter name

## Methods detail

# `public`
`__construct( array $factories )`

#### Parameters

$factories
  `array`
  $factories Array of factories used to instantiate waiters

# `public `Aws\Common\Waiter\WaiterInterface``
`build( string $waiter )`

Create a waiter by name

#### Parameters

$waiter
  `string`
  $waiter Name of the waiter to create

#### Returns

``Aws\Common\Waiter\WaiterInterface``

#### Implementation of

`Aws\Common\Waiter\WaiterFactoryInterface::build()`
# `public boolean`
`canBuild( string $waiter )`

Check if the factory can create a waiter by a specific name

#### Parameters

$waiter
  `string`
  $waiter Name of the waiter to check

#### Returns

`boolean`

#### Implementation of

`Aws\Common\Waiter\WaiterFactoryInterface::canBuild()`
# `public `Aws\Common\Waiter\CompositeWaiterFactory``
`addFactory( `Aws\Common\Waiter\WaiterFactoryInterface` $factory )`

Add a factory to the composite factory

#### Parameters

$factory
  ``Aws\Common\Waiter\WaiterFactoryInterface``
  $factory Factory to add

#### Returns

``Aws\Common\Waiter\CompositeWaiterFactory``
# `protected `Aws\Common\Waiter\WaiterFactoryInterface`|boolean`
`getFactory( string $waiter )`

Get the factory that matches the waiter name

#### Parameters

$waiter
  `string`
  $waiter Name of the waiter

#### Returns

``Aws\Common\Waiter\WaiterFactoryInterface`|boolean`

### Magic methods summary

## Properties summary

`protected array` | $factories | # Array of factories