Failed Conditions
Pull Request — develop_3.0 (#434)
by Hura
02:43
created

EntityFactory::createWorksheet()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 2
crap 1
1
<?php
2
3
namespace Box\Spout\Writer\Common\Creator;
4
5
use Box\Spout\Writer\Common\Entity\Row;
6
use Box\Spout\Writer\Common\Entity\Sheet;
7
use Box\Spout\Writer\Common\Entity\Style\Style;
8
use Box\Spout\Writer\Common\Entity\Workbook;
9
use Box\Spout\Writer\Common\Entity\Worksheet;
10
11
/**
12
 * Class EntityFactory
13
 * Factory to create entities
14
 *
15
 * @package Box\Spout\Writer\Common\Creator
16
 */
17
class EntityFactory
18
{
19
    /** @var ManagerFactory */
20
    private $managerFactory;
21
22
    /**
23
     * EntityFactory constructor.
24
     *
25
     * @param ManagerFactory $managerFactory
26
     */
27 107
    public function __construct(ManagerFactory $managerFactory)
28
    {
29 107
        $this->managerFactory = $managerFactory;
30 107
    }
31
32
    /**
33
     * @return Workbook
34
     */
35 84
    public function createWorkbook()
36
    {
37 84
        return new Workbook();
38
    }
39
40
    /**
41
     * @param string $worksheetFilePath
42
     * @param Sheet $externalSheet
43
     * @return Worksheet
44
     */
45 84
    public function createWorksheet($worksheetFilePath, Sheet $externalSheet)
46
    {
47 84
        return new Worksheet($worksheetFilePath, $externalSheet);
48
    }
49
50
    /**
51
     * @param int $sheetIndex Index of the sheet, based on order in the workbook (zero-based)
52
     * @param string $associatedWorkbookId ID of the sheet's associated workbook
53
     * @return Sheet
54
     */
55 84
    public function createSheet($sheetIndex, $associatedWorkbookId)
56
    {
57 84
        $sheetManager = $this->managerFactory->createSheetManager();
58 84
        return new Sheet($sheetIndex, $associatedWorkbookId, $sheetManager);
59
    }
60
61
    /**
62
     * @param array $cells
63
     * @param Style|null $style
64
     * @return Row
65
     */
66 80
    public function createRow(array $cells, Style $style = null)
67
    {
68 80
        $rowManager = $this->managerFactory->createRowManager();
69 80
        return new Row($cells, $style, $rowManager);
70
    }
71
}