aboutsummaryrefslogtreecommitdiff
path: root/classes/IsisSubfieldIterator.php
diff options
context:
space:
mode:
authorSilvio <silvio@devlet.com.br>2010-07-15 18:15:21 -0300
committerSilvio <silvio@devlet.com.br>2010-07-15 18:15:21 -0300
commitd9f864a13f9216b7ee78a85c53d3184220eb01c3 (patch)
tree803d9f3095a58cd638b596781eb54d6369a97708 /classes/IsisSubfieldIterator.php
parent995ab5bad89603d40b7d9d60fef4bb8bae1dc9d3 (diff)
downloadcinisis-d9f864a13f9216b7ee78a85c53d3184220eb01c3.tar.gz
cinisis-d9f864a13f9216b7ee78a85c53d3184220eb01c3.tar.bz2
Moving iterators to their own folder
Diffstat (limited to 'classes/IsisSubfieldIterator.php')
-rw-r--r--classes/IsisSubfieldIterator.php75
1 files changed, 0 insertions, 75 deletions
diff --git a/classes/IsisSubfieldIterator.php b/classes/IsisSubfieldIterator.php
deleted file mode 100644
index 36d3d06..0000000
--- a/classes/IsisSubfieldIterator.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/**
- * Isis subfield iterator. Iterates over all subfields for
- * each result row.
- */
-class IsisSubfieldIterator implements Iterator
-{
- private $keys;
- private $fieldset;
- private $row = 0;
- private $rows = 0;
- private $subfield = 0;
- private $subfields = 0;
-
- /**
- * Constructor.
- *
- * @param $class
- * Instance of IsisConnector or child class.
- *
- * @param $field
- * Field to iterate over.
- */
- public function __construct($class, $field) {
- $this->class = $class;
- $this->field = $field;
- $this->rows = $class->getRows($field);
- $this->fieldset = $class->getSubfieldList($field);
- $this->keys = array_keys($this->fieldset);
- $this->subfields = count($this->keys);
- }
-
- /**
- * Rewind the Iterator to the first element.
- */
- function rewind() {
- $this->row = 0;
- $this->subfield = 0;
- }
-
- /**
- * Return the key of the current element.
- */
- function key() {
- return $this->row;
- }
-
- /**
- * Return the current element.
- */
- function current() {
- return $this->fieldset[$this->keys[$this->subfield]];
- }
-
- /**
- * Move forward to next element.
- */
- function next() {
- if ($this->subfield >= $this->subfields) {
- $this->subfield = 0;
- ++$this->row;
- }
- else {
- ++$this->subfield;
- }
- }
-
- /**
- * Check if there is a current element after calls to rewind() or next().
- */
- function valid() {
- return $this->row <= $this->rows;
- }
-}