Intrastat::configureOptions()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 7
c 0
b 0
f 0
dl 0
loc 12
ccs 8
cts 8
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
/**
4
 * This file is part of riesenia/pohoda package.
5
 *
6
 * Licensed under the MIT License
7
 * (c) RIESENIA.com
8
 */
9
10
declare(strict_types=1);
11
12
namespace Riesenia\Pohoda\Stock;
13
14
use Riesenia\Pohoda\AbstractAgenda;
15
use Riesenia\Pohoda\Common\OptionsResolver;
16
17
class Intrastat extends AbstractAgenda
18
{
19
    /** @var string[] */
20
    protected array $elements = [
21
        'goodsCode',
22
        'description',
23
        'statistic',
24
        'unit',
25
        'coefficient',
26
        'country',
27
    ];
28
29
    /**
30
     * {@inheritdoc}
31
     */
32 9
    public function getXML(): \SimpleXMLElement
33
    {
34 9
        $xml = $this->createXML()->addChild('stk:intrastat', '', $this->namespace('stk'));
35
36 9
        $this->addElements($xml, $this->elements, 'stk');
37
38 9
        return $xml;
39
    }
40
41
    /**
42
     * {@inheritdoc}
43
     */
44 2
    protected function configureOptions(OptionsResolver $resolver): void
45
    {
46
        // available options
47 2
        $resolver->setDefined($this->elements);
48
49
        // validate / format options
50 2
        $resolver->setNormalizer('goodsCode', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string8'));
51 2
        $resolver->setNormalizer('description', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string255'));
52 2
        $resolver->setNormalizer('statistic', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string2'));
53 2
        $resolver->setNormalizer('unit', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string10'));
54 2
        $resolver->setNormalizer('coefficient', $this->dependenciesFactory->getNormalizerFactory()->getClosure('float'));
55 2
        $resolver->setNormalizer('country', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string2'));
56
    }
57
}
58