AbstractDataTransformerFactory   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 87
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 7
lcom 1
cbo 1
dl 0
loc 87
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B get() 0 19 7
1
<?php
2
namespace OmnideskBundle\Factory;
3
4
use OmnideskBundle\DataTransformer\DataTransformerInterface;
5
use OmnideskBundle\Exception\BadDataTransformerFactoryException;
6
7
/**
8
 * Class AbstractDataTransformerFactory
9
 * @package OmnideskBundle\Factory
10
 */
11
abstract class AbstractDataTransformerFactory implements DataTransformerFactoryInterface
12
{
13
    /**
14
     * @var string
15
     */
16
    const REQUEST_ADD = 'request-add';
17
18
    /**
19
     * @var string
20
     */
21
    const REQUEST_EDIT = 'request-edit';
22
23
    /**
24
     * @var string
25
     */
26
    const REQUEST_VIEW = 'request-view';
27
28
    /**
29
     * @var string
30
     */
31
    const REQUEST_LIST = 'request-list';
32
33
    /**
34
     * @var string
35
     */
36
    const RESPONSE_LIST = 'response-list';
37
38
    /**
39
     * @var string
40
     */
41
    const RESPONSE_VIEW = 'response-view';
42
43
    /**
44
     * @var DataTransformerInterface
45
     */
46
    protected $addRequest;
47
48
    /**
49
     * @var DataTransformerInterface
50
     */
51
    protected $editRequest;
52
53
    /**
54
     * @var DataTransformerInterface
55
     */
56
    protected $listRequest;
57
58
    /**
59
     * @var DataTransformerInterface
60
     */
61
    protected $viewRequest;
62
63
    /**
64
     * @var DataTransformerInterface
65
     */
66
    protected $listResponse;
67
68
    /**
69
     * @var DataTransformerInterface
70
     */
71
    protected $viewResponse;
72
73
    /**
74
     * @param string $type
75
     * @return DataTransformerInterface
76
     * @throws BadDataTransformerFactoryException
77
     */
78
    public function get($type)
79
    {
80
        switch ($type) {
81
            case self::REQUEST_ADD:
82
                return $this->addRequest;
83
            case self::REQUEST_EDIT:
84
                return $this->editRequest;
85
            case self::REQUEST_LIST:
86
                return $this->listRequest;
87
            case self::REQUEST_VIEW:
88
                return $this->viewRequest;
89
            case self::RESPONSE_LIST:
90
                return $this->listResponse;
91
            case self::RESPONSE_VIEW:
92
                return $this->viewResponse;
93
            default:
94
                throw new BadDataTransformerFactoryException();
95
        }
96
    }
97
}
98