1<?php
2/*
3 * This file is part of sebastian/diff.
4 *
5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11namespace SebastianBergmann\Diff;
12
13class Chunk
14{
15    /**
16     * @var int
17     */
18    private $start;
19
20    /**
21     * @var int
22     */
23    private $startRange;
24
25    /**
26     * @var int
27     */
28    private $end;
29
30    /**
31     * @var int
32     */
33    private $endRange;
34
35    /**
36     * @var array
37     */
38    private $lines;
39
40    /**
41     * @param int   $start
42     * @param int   $startRange
43     * @param int   $end
44     * @param int   $endRange
45     * @param array $lines
46     */
47    public function __construct($start = 0, $startRange = 1, $end = 0, $endRange = 1, array $lines = array())
48    {
49        $this->start      = (int) $start;
50        $this->startRange = (int) $startRange;
51        $this->end        = (int) $end;
52        $this->endRange   = (int) $endRange;
53        $this->lines      = $lines;
54    }
55
56    /**
57     * @return int
58     */
59    public function getStart()
60    {
61        return $this->start;
62    }
63
64    /**
65     * @return int
66     */
67    public function getStartRange()
68    {
69        return $this->startRange;
70    }
71
72    /**
73     * @return int
74     */
75    public function getEnd()
76    {
77        return $this->end;
78    }
79
80    /**
81     * @return int
82     */
83    public function getEndRange()
84    {
85        return $this->endRange;
86    }
87
88    /**
89     * @return array
90     */
91    public function getLines()
92    {
93        return $this->lines;
94    }
95
96    /**
97     * @param array $lines
98     */
99    public function setLines(array $lines)
100    {
101        $this->lines = $lines;
102    }
103}
104