HelperFactory   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 6

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 6
dl 0
loc 41
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A createSpecificFileSystemHelper() 0 8 1
A createZipHelper() 0 4 1
A createStringsEscaper() 0 4 1
A createStringHelper() 0 4 1
1
<?php
2
3
namespace Box\Spout\Writer\XLSX\Creator;
4
5
use Box\Spout\Common\Helper\Escaper;
6
use Box\Spout\Common\Helper\StringHelper;
7
use Box\Spout\Common\Manager\OptionsManagerInterface;
8
use Box\Spout\Writer\Common\Creator\InternalEntityFactory;
9
use Box\Spout\Writer\Common\Entity\Options;
10
use Box\Spout\Writer\Common\Helper\ZipHelper;
11
use Box\Spout\Writer\XLSX\Helper\FileSystemHelper;
12
13
/**
14
 * Class HelperFactory
15
 * Factory for helpers needed by the XLSX Writer
16
 */
17
class HelperFactory extends \Box\Spout\Common\Creator\HelperFactory
18
{
19
    /**
20
     * @param OptionsManagerInterface $optionsManager
21
     * @param InternalEntityFactory $entityFactory
22
     * @return FileSystemHelper
23
     */
24 43
    public function createSpecificFileSystemHelper(OptionsManagerInterface $optionsManager, InternalEntityFactory $entityFactory)
25
    {
26 43
        $tempFolder = $optionsManager->getOption(Options::TEMP_FOLDER);
27 43
        $zipHelper = $this->createZipHelper($entityFactory);
28 43
        $escaper = $this->createStringsEscaper();
29
30 43
        return new FileSystemHelper($tempFolder, $zipHelper, $escaper);
31
    }
32
33
    /**
34
     * @param InternalEntityFactory $entityFactory
35
     * @return ZipHelper
36
     */
37 43
    private function createZipHelper(InternalEntityFactory $entityFactory)
38
    {
39 43
        return new ZipHelper($entityFactory);
40
    }
41
42
    /**
43
     * @return Escaper\XLSX
44
     */
45 43
    public function createStringsEscaper()
46
    {
47 43
        return new Escaper\XLSX();
48
    }
49
50
    /**
51
     * @return StringHelper
52
     */
53 43
    public function createStringHelper()
54
    {
55 43
        return new StringHelper();
56
    }
57
}
58