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

# Class WaiterClassFactory

Factory for creating `Aws\Common\Waiter\WaiterInterface` objects using a convention of storing waiter classes in the Waiter folder of a client class namespace using a snake_case to CamelCase conversion (e.g. camel_case => CamelCase).

  Aws\Common\Waiter\WaiterClassFactory implements Aws\Common\Waiter\WaiterFactoryInterface

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

## Methods summary

- `public` `__construct ( array|string $namespaces = array(), Guzzle\Inflection\InflectorInterface $inflector = null )`
- `public` `registerNamespace ( string $namespace )`

  Registers a namespace to check for Waiters

- `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

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

  Get the name of a waiter class

## Methods detail

# `public`
`__construct( array|string $namespaces = array(), `Guzzle\Inflection\InflectorInterface` $inflector = null )`

#### Parameters

$namespaces
  `array|string`
  $namespaces Namespaces of waiter objects
$inflector
  ``Guzzle\Inflection\InflectorInterface``
  $inflector Inflector used to resolve class names

# `public `Aws\Common\Waiter\WaiterClassFactory``
`registerNamespace( string $namespace )`

Registers a namespace to check for Waiters

#### Parameters

$namespace
  `string`
  $namespace Namespace which contains Waiter classes

#### Returns

``Aws\Common\Waiter\WaiterClassFactory``
# `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()`
# `protected string|null`
`getClassName( string $waiter )`

Get the name of a waiter class

#### Parameters

$waiter
  `string`
  $waiter Waiter name

#### Returns

`string|null`

### Magic methods summary

## Properties summary

`protected array` | $namespaces | # List of namespaces used to look for classes
`protected `Guzzle\Inflection\InflectorInterface`` | $inflector | # Inflector used to inflect class names