name: PasswordBrokerManager
class_comment: '# * @mixin \Illuminate\Contracts\Auth\PasswordBroker'
dependencies:
- name: FactoryContract
  type: class
  source: Illuminate\Contracts\Auth\PasswordBrokerFactory
- name: InvalidArgumentException
  type: class
  source: InvalidArgumentException
properties:
- name: app
  visibility: protected
  comment: '# * @mixin \Illuminate\Contracts\Auth\PasswordBroker

    # */

    # class PasswordBrokerManager implements FactoryContract

    # {

    # /**

    # * The application instance.

    # *

    # * @var \Illuminate\Contracts\Foundation\Application'
- name: brokers
  visibility: protected
  comment: '# * The array of created "drivers".

    # *

    # * @var array'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: app
  comment: "# * @mixin \\Illuminate\\Contracts\\Auth\\PasswordBroker\n# */\n# class\
    \ PasswordBrokerManager implements FactoryContract\n# {\n# /**\n# * The application\
    \ instance.\n# *\n# * @var \\Illuminate\\Contracts\\Foundation\\Application\n\
    # */\n# protected $app;\n# \n# /**\n# * The array of created \"drivers\".\n# *\n\
    # * @var array\n# */\n# protected $brokers = [];\n# \n# /**\n# * Create a new\
    \ PasswordBroker manager instance.\n# *\n# * @param  \\Illuminate\\Contracts\\\
    Foundation\\Application  $app\n# * @return void"
- name: broker
  visibility: public
  parameters:
  - name: name
    default: 'null'
  comment: '# * Attempt to get the broker from the local cache.

    # *

    # * @param  string|null  $name

    # * @return \Illuminate\Contracts\Auth\PasswordBroker'
- name: resolve
  visibility: protected
  parameters:
  - name: name
  comment: '# * Resolve the given broker.

    # *

    # * @param  string  $name

    # * @return \Illuminate\Contracts\Auth\PasswordBroker

    # *

    # * @throws \InvalidArgumentException'
- name: createTokenRepository
  visibility: protected
  parameters:
  - name: config
  comment: '# * Create a token repository instance based on the given configuration.

    # *

    # * @param  array  $config

    # * @return \Illuminate\Auth\Passwords\TokenRepositoryInterface'
- name: getConfig
  visibility: protected
  parameters:
  - name: name
  comment: '# * Get the password broker configuration.

    # *

    # * @param  string  $name

    # * @return array|null'
- name: getDefaultDriver
  visibility: public
  parameters: []
  comment: '# * Get the default password broker name.

    # *

    # * @return string'
- name: setDefaultDriver
  visibility: public
  parameters:
  - name: name
  comment: '# * Set the default password broker name.

    # *

    # * @param  string  $name

    # * @return void'
- name: __call
  visibility: public
  parameters:
  - name: method
  - name: parameters
  comment: '# * Dynamically call the default driver instance.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed'
traits:
- InvalidArgumentException
interfaces:
- FactoryContract