Completed
Push — master ( fd3130...674c45 )
by John
03:39
created

FieldParserFactory   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Test Coverage

Coverage 88%

Importance

Changes 0
Metric Value
eloc 25
dl 0
loc 40
rs 10
c 0
b 0
f 0
ccs 22
cts 25
cp 0.88
wmc 9

1 Method

Rating   Name   Duplication   Size   Complexity  
B getFieldParser() 0 34 9
1
<?php
2
3
namespace Graze\CiffRenderer\Parser;
4
5
use Graze\CiffRenderer\Parser\FieldType;
6
use Graze\CiffRenderer\Parser\FieldParser\FieldParserFixedText;
7
use Graze\CiffRenderer\Parser\FieldParser\FieldParserBarcode;
8
use Graze\CiffRenderer\Parser\FieldParser\FieldParserDate;
9
use Graze\CiffRenderer\Parser\FieldParser\FieldParserDateOffset;
10
use Graze\CiffRenderer\Parser\FieldParser\FieldParserStaticGraphic;
11
use Graze\CiffRenderer\Parser\FieldParser\FieldParserGraphicPrimitive;
12
use Graze\CiffRenderer\Exception\UnsupportedFieldTypeException;
13
14
class FieldParserFactory
15
{
16
    /**
17
     * @param string $fieldType
18
     * @return FieldParserInterface
0 ignored issues
show
Bug introduced by
The type Graze\CiffRenderer\Parser\FieldParserInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
19
     */
20 8
    public function getFieldParser($fieldType)
21
    {
22
        switch ($fieldType) {
23 8
            case FieldType::FIELD_FIXED_TEXT:
24 8
            case FieldType::FIELD_COMPLEX_TEXT:
25 8
            case FieldType::FIELD_MERGE_FIELD:
26 3
                $className = FieldParserFixedText::class;
27 3
                break;
28
29 5
            case FieldType::FIELD_BARCODE:
30 1
                $className = FieldParserBarcode::class;
31 1
                break;
32
33 4
            case FieldType::FIELD_DATE:
34 1
                $className = FieldParserDate::class;
35 1
                break;
36
37 3
            case FieldType::FIELD_OFFSET_DATE:
38 1
                $className = FieldParserDateOffset::class;
39 1
                break;
40
41 2
            case FieldType::FIELD_STATIC_GRAPHIC:
42 1
                $className = FieldParserStaticGraphic::class;
43 1
                break;
44
45 1
            case FieldType::FIELD_GRAPHIC_PRIMITIVE:
46 1
                $className = FieldParserGraphicPrimitive::class;
47 1
                break;
48
49
            default:
50
                throw new UnsupportedFieldTypeException($fieldType);
51
        }
52
53 8
        return $className::factory();
54
    }
55
}
56