MessageConfigurationFactory::get()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 3
nc 3
nop 1
1
<?php
2
namespace OmnideskBundle\Factory\Message;
3
4
use OmnideskBundle\Configuration\Message\AddMessageRequestConfiguration;
5
use OmnideskBundle\Configuration\Message\ListMessageRequestConfiguration;
6
use OmnideskBundle\Exception\BadConfigurationFactoryException;
7
use OmnideskBundle\Factory\AbstractConfigurationFactory;
8
use Symfony\Component\Config\Definition\ConfigurationInterface;
9
10
/**
11
 * Class MessageConfigurationFactory
12
 * @package OmnideskBundle\Factory\Message
13
 */
14
class MessageConfigurationFactory extends AbstractConfigurationFactory
15
{
16
    /**
17
     * MessageConfigurationFactory constructor.
18
     * @param AddMessageRequestConfiguration  $addConfiguration
19
     * @param ListMessageRequestConfiguration $listConfiguration
20
     */
21
    public function __construct(
22
        AddMessageRequestConfiguration $addConfiguration,
23
        ListMessageRequestConfiguration $listConfiguration
24
    ) {
25
        $this->addConfiguration = $addConfiguration;
26
        $this->listConfiguration = $listConfiguration;
27
    }
28
29
    /**
30
     * @param string $type
31
     * @return ConfigurationInterface
32
     * @throws BadConfigurationFactoryException
33
     */
34
    public function get($type)
35
    {
36
        switch ($type) {
37
            case self::CONFIGURATION_ADD:
38
                return $this->addConfiguration;
39
            case self::CONFIGURATION_LIST:
40
                return $this->listConfiguration;
41
            default:
42
                throw new BadConfigurationFactoryException();
43
        }
44
    }
45
}
46