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

GraphicPrimitiveFactory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Test Coverage

Coverage 87.5%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 22
ccs 7
cts 8
cp 0.875
rs 10
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A getFieldRenderer() 0 16 3
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