1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\Finder\Exception;
13:
14: use Symfony\Component\Finder\Adapter\AdapterInterface;
15:
16: /**
17: * Base exception for all adapter failures.
18: *
19: * @author Jean-François Simon <contact@jfsimon.fr>
20: */
21: class AdapterFailureException extends \RuntimeException implements ExceptionInterface
22: {
23: /**
24: * @var \Symfony\Component\Finder\Adapter\AdapterInterface
25: */
26: private $adapter;
27:
28: /**
29: * @param AdapterInterface $adapter
30: * @param string|null $message
31: * @param \Exception|null $previous
32: */
33: public function __construct(AdapterInterface $adapter, $message = null, \Exception $previous = null)
34: {
35: $this->adapter = $adapter;
36: parent::__construct($message ?: 'Search failed with "'.$adapter->getName().'" adapter.', $previous);
37: }
38:
39: /**
40: * {@inheritdoc}
41: */
42: public function getAdapter()
43: {
44: return $this->adapter;
45: }
46: }
47: