DumpEntityPageIterator::rewind()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 3
ccs 0
cts 3
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Queryr\Replicator\EntitySource\Dump;
4
5
use Iterator;
6
use Queryr\DumpReader\DumpIterator;
7
use Queryr\DumpReader\Page;
8
use Queryr\Replicator\Model\EntityPage;
9
10
/**
11
 * @licence GNU GPL v2+
12
 * @author Jeroen De Dauw < [email protected] >
13
 */
14
class DumpEntityPageIterator implements Iterator {
15
16
	private $dumpIterator;
17
18
	public function __construct( DumpIterator $dumpIterator ) {
19
		$this->dumpIterator = $dumpIterator;
20
	}
21
22
	/**
23
	 * @return EntityPage|null
24
	 */
25
	public function current() {
26
		$page = $this->dumpIterator->current();
27
28
		return $page === null ? null : $this->dumpPageToEntityPage( $page );
29
	}
30
31
	private function dumpPageToEntityPage( Page $page ) {
32
		return new EntityPage(
33
			$page->getRevision()->getText(),
34
			$page->getTitle(),
35
			$page->getNamespace(),
36
			$page->getRevision()->getId(),
37
			$page->getRevision()->getTimeStamp()
38
		);
39
	}
40
41
	public function next() {
42
		$this->dumpIterator->next();
43
	}
44
45
	public function key(): int {
46
		return $this->dumpIterator->key();
47
	}
48
49
	public function valid(): bool {
50
		return $this->dumpIterator->valid();
51
	}
52
53
	public function rewind() {
54
		$this->dumpIterator->rewind();
55
	}
56
57
}
58