MessageConfigurationFactory   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 2
dl 0
loc 32
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A get() 0 11 3
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