MessageDataTransformerFactory::get()   A
last analyzed

Complexity

Conditions 5
Paths 5

Size

Total Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
rs 9.4555
c 0
b 0
f 0
cc 5
nc 5
nop 1
1
<?php
2
namespace OmnideskBundle\Factory\Message;
3
4
use OmnideskBundle\DataTransformer\DataTransformerInterface;
5
use OmnideskBundle\DataTransformer\Request\Message\AddMessageRequestDataTransformer;
6
use OmnideskBundle\DataTransformer\Request\Message\ListMessageRequestDataTransformer;
7
use OmnideskBundle\DataTransformer\Response\Message\ListMessageResponseDataTransformer;
8
use OmnideskBundle\DataTransformer\Response\Message\ViewMessageResponseDataTransformer;
9
use OmnideskBundle\Exception\BadDataTransformerFactoryException;
10
use OmnideskBundle\Factory\AbstractDataTransformerFactory;
11
12
/**
13
 * Class MessageDataTransformerFactory
14
 * @package OmnideskBundle\Factory\Message
15
 */
16
class MessageDataTransformerFactory extends AbstractDataTransformerFactory
17
{
18
    /**
19
     * CasesService constructor.
20
     * @param AddMessageRequestDataTransformer   $addRequest
21
     * @param ListMessageRequestDataTransformer  $listRequest
22
     * @param ListMessageResponseDataTransformer $listResponse
23
     * @param ViewMessageResponseDataTransformer $viewResponse
24
     */
25
    public function __construct(
26
        AddMessageRequestDataTransformer $addRequest,
27
        ListMessageRequestDataTransformer $listRequest,
28
        ListMessageResponseDataTransformer $listResponse,
29
        ViewMessageResponseDataTransformer $viewResponse
30
    ) {
31
        $this->addRequest = $addRequest;
32
        $this->listRequest = $listRequest;
33
        $this->viewResponse = $viewResponse;
34
        $this->listResponse = $listResponse;
35
    }
36
37
    /**
38
     * @param string $type
39
     * @return DataTransformerInterface
40
     * @throws BadDataTransformerFactoryException
41
     */
42
    public function get($type)
43
    {
44
        switch ($type) {
45
            case self::REQUEST_ADD:
46
                return $this->addRequest;
47
            case self::REQUEST_LIST:
48
                return $this->listRequest;
49
            case self::RESPONSE_LIST:
50
                return $this->listResponse;
51
            case self::RESPONSE_VIEW:
52
                return $this->viewResponse;
53
            default:
54
                throw new BadDataTransformerFactoryException();
55
        }
56
    }
57
}
58