3 namespace Caxy\HtmlDiff\Table;
6 * Class DiffRowPosition.
13 protected $indexInOld;
18 protected $indexInNew;
23 protected $columnInOld;
28 protected $columnInNew;
31 * DiffRowPosition constructor.
33 * @param int $indexInOld
34 * @param int $indexInNew
35 * @param int $columnInOld
36 * @param int $columnInNew
38 public function __construct($indexInOld = 0, $indexInNew = 0, $columnInOld = 0, $columnInNew = 0)
40 $this->indexInOld = $indexInOld;
41 $this->indexInNew = $indexInNew;
42 $this->columnInOld = $columnInOld;
43 $this->columnInNew = $columnInNew;
49 public function getIndexInOld()
51 return $this->indexInOld;
55 * @param int $indexInOld
57 * @return DiffRowPosition
59 public function setIndexInOld($indexInOld)
61 $this->indexInOld = $indexInOld;
69 public function getIndexInNew()
71 return $this->indexInNew;
75 * @param int $indexInNew
77 * @return DiffRowPosition
79 public function setIndexInNew($indexInNew)
81 $this->indexInNew = $indexInNew;
89 public function getColumnInOld()
91 return $this->columnInOld;
95 * @param int $columnInOld
97 * @return DiffRowPosition
99 public function setColumnInOld($columnInOld)
101 $this->columnInOld = $columnInOld;
109 public function getColumnInNew()
111 return $this->columnInNew;
115 * @param int $columnInNew
117 * @return DiffRowPosition
119 public function setColumnInNew($columnInNew)
121 $this->columnInNew = $columnInNew;
127 * @param int $increment
131 public function incrementColumnInNew($increment = 1)
133 $this->columnInNew += $increment;
135 return $this->columnInNew;
139 * @param int $increment
143 public function incrementColumnInOld($increment = 1)
145 $this->columnInOld += $increment;
147 return $this->columnInOld;
151 * @param int $increment
155 public function incrementIndexInNew($increment = 1)
157 $this->indexInNew += $increment;
159 return $this->indexInNew;
163 * @param int $increment
167 public function incrementIndexInOld($increment = 1)
169 $this->indexInOld += $increment;
171 return $this->indexInOld;
175 * @param string $type
176 * @param int $increment
180 public function incrementIndex($type, $increment = 1)
182 if ($type === 'new') {
183 return $this->incrementIndexInNew($increment);
186 return $this->incrementIndexInOld($increment);
190 * @param string $type
191 * @param int $increment
195 public function incrementColumn($type, $increment = 1)
197 if ($type === 'new') {
198 return $this->incrementColumnInNew($increment);
201 return $this->incrementColumnInOld($increment);
205 * @param string $type
209 public function isColumnLessThanOther($type)
211 if ($type === 'new') {
212 return $this->getColumnInNew() < $this->getColumnInOld();
215 return $this->getColumnInOld() < $this->getColumnInNew();
219 * @param string $type
223 public function getColumn($type)
225 if ($type === 'new') {
226 return $this->getColumnInNew();
229 return $this->getColumnInOld();
233 * @param string $type
237 public function getIndex($type)
239 if ($type === 'new') {
240 return $this->getIndexInNew();
243 return $this->getIndexInOld();
249 public function areColumnsEqual()
251 return $this->getColumnInOld() === $this->getColumnInNew();
255 * @return null|string
257 public function getLesserColumnType()
259 if ($this->isColumnLessThanOther('new')) {
261 } elseif ($this->isColumnLessThanOther('old')) {