Completed
Push — develop ( d383bc...d9bd45 )
by Adrien
23:59
created

CellIterator::__destruct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheet\Worksheet;
4
5
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
6
7
abstract class CellIterator implements \Iterator
8
{
9
    /**
10
     * Worksheet to iterate.
11
     *
12
     * @var Worksheet
13
     */
14
    protected $worksheet;
15
16
    /**
17
     * Iterate only existing cells.
18
     *
19
     * @var bool
20
     */
21
    protected $onlyExistingCells = false;
22
23
    /**
24
     * Destructor.
25
     */
26 15
    public function __destruct()
27
    {
28 15
        unset($this->worksheet);
29 15
    }
30
31
    /**
32
     * Get loop only existing cells.
33
     *
34
     * @return bool
35
     */
36
    public function getIterateOnlyExistingCells()
37
    {
38
        return $this->onlyExistingCells;
39
    }
40
41
    /**
42
     * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary.
43
     *
44
     * @throws PhpSpreadsheetException
45
     */
46
    abstract protected function adjustForExistingOnlyRange();
47
48
    /**
49
     * Set the iterator to loop only existing cells.
50
     *
51
     * @param bool $value
52
     *
53
     * @throws PhpSpreadsheetException
54
     */
55 1
    public function setIterateOnlyExistingCells($value)
56
    {
57 1
        $this->onlyExistingCells = (bool) $value;
58
59 1
        $this->adjustForExistingOnlyRange();
60 1
    }
61
}
62