Completed
Push — master ( 2b5604...0a5d2b )
by Burhan
17s queued 11s
created

GraphicPrimitiveFactory::getFieldRenderer()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 16
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3.0175

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 10
c 1
b 0
f 0
nc 3
nop 1
dl 0
loc 16
ccs 7
cts 8
cp 0.875
crap 3.0175
rs 9.9332
1
<?php
2
3
namespace Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive;
4
5
use Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive\GraphicPrimitiveType;
6
use Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive\FieldRendererOutlineBox;
7
use Graze\CiffRenderer\Renderer\FieldRenderer\GraphicPrimitive\FieldRendererFilledBox;
8
use Graze\CiffRenderer\Exception\UnsupportedFieldTypeException;
9
10
class GraphicPrimitiveFactory
11
{
12
    /**
13
     * @param string $graphicPrimitiveType
14
     * @return \Graze\CiffRenderer\Renderer\FieldRenderer\FieldRendererInterface
15
     */
16 2
    public function getFieldRenderer($graphicPrimitiveType)
17
    {
18 2
        switch ($graphicPrimitiveType) {
19
            case GraphicPrimitiveType::TYPE_OUTLINE_BOX:
20 1
                $class = FieldRendererOutlineBox::class;
21 1
                break;
22
23
            case GraphicPrimitiveType::TYPE_FILLED_BOX:
24 1
                $class = FieldRendererFilledBox::class;
25 1
                break;
26
27
            default:
28
                throw new UnsupportedFieldTypeException($graphicPrimitiveType);
29
        }
30
31 2
        return $class::factory();
32
    }
33
}
34