Open Journal Systems  3.3.0
DAOResultIterator.inc.php
1 <?php
2 
17 class DAOResultIterator implements Iterator, Countable {
19  var $_resultFactory;
20 
22  var $_current = null;
23 
25  var $_i = 0;
26 
31  public function __construct($resultFactory) {
32  $this->_resultFactory = $resultFactory;
33  $this->_current = $this->_resultFactory->next();
34  }
35 
39  public function current() {
41  }
42 
49  public function key() {
50  if (!$this->_current) return null;
51  return $this->_i;
52  return $this->_current->getId();
53  }
54 
58  public function next() {
59  $this->_current = $this->_resultFactory->next();
60  $this->_i++;
61  }
62 
68  public function rewind() {
69  if ($this->_i != 0) throw new Exception('DAOResultIterator currently does not support rewind() once iteration has started.');
70  }
71 
75  public function valid() {
76  return ($this->_current !== null);
77  }
78 
82  public function count() {
83  return $this->_resultFactory->getCount();
84  }
85 }
86 
DAOResultIterator\rewind
rewind()
Definition: DAOResultIterator.inc.php:77
DAOResultIterator\next
next()
Definition: DAOResultIterator.inc.php:67
DAOResultIterator\current
current()
Definition: DAOResultIterator.inc.php:48
DAOResultIterator\valid
valid()
Definition: DAOResultIterator.inc.php:84
DAOResultIterator\$_resultFactory
$_resultFactory
Definition: DAOResultIterator.inc.php:22
DAOResultIterator\__construct
__construct($resultFactory)
Definition: DAOResultIterator.inc.php:40
DAOResultIterator\key
key()
Definition: DAOResultIterator.inc.php:58
DAOResultIterator
Wrapper around a DAOResultFactory providing a proper PHP Iterator implementation.
Definition: DAOResultIterator.inc.php:17
DAOResultIterator\$_i
$_i
Definition: DAOResultIterator.inc.php:34
DAOResultIterator\count
count()
Definition: DAOResultIterator.inc.php:91
DAOResultIterator\$_current
$_current
Definition: DAOResultIterator.inc.php:28