Mercurial > hg > isophonics-drupal-site
annotate vendor/phar-io/manifest/src/xml/ElementCollection.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 1fec387a4317 |
children |
rev | line source |
---|---|
Chris@14 | 1 <?php |
Chris@14 | 2 /* |
Chris@14 | 3 * This file is part of PharIo\Manifest. |
Chris@14 | 4 * |
Chris@14 | 5 * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de> |
Chris@14 | 6 * |
Chris@14 | 7 * For the full copyright and license information, please view the LICENSE |
Chris@14 | 8 * file that was distributed with this source code. |
Chris@14 | 9 */ |
Chris@14 | 10 |
Chris@14 | 11 namespace PharIo\Manifest; |
Chris@14 | 12 |
Chris@14 | 13 use DOMElement; |
Chris@14 | 14 use DOMNodeList; |
Chris@14 | 15 |
Chris@14 | 16 abstract class ElementCollection implements \Iterator { |
Chris@14 | 17 /** |
Chris@14 | 18 * @var DOMNodeList |
Chris@14 | 19 */ |
Chris@14 | 20 private $nodeList; |
Chris@14 | 21 |
Chris@14 | 22 private $position; |
Chris@14 | 23 |
Chris@14 | 24 /** |
Chris@14 | 25 * ElementCollection constructor. |
Chris@14 | 26 * |
Chris@14 | 27 * @param DOMNodeList $nodeList |
Chris@14 | 28 */ |
Chris@14 | 29 public function __construct(DOMNodeList $nodeList) { |
Chris@14 | 30 $this->nodeList = $nodeList; |
Chris@14 | 31 $this->position = 0; |
Chris@14 | 32 } |
Chris@14 | 33 |
Chris@14 | 34 abstract public function current(); |
Chris@14 | 35 |
Chris@14 | 36 /** |
Chris@14 | 37 * @return DOMElement |
Chris@14 | 38 */ |
Chris@14 | 39 protected function getCurrentElement() { |
Chris@14 | 40 return $this->nodeList->item($this->position); |
Chris@14 | 41 } |
Chris@14 | 42 |
Chris@14 | 43 public function next() { |
Chris@14 | 44 $this->position++; |
Chris@14 | 45 } |
Chris@14 | 46 |
Chris@14 | 47 public function key() { |
Chris@14 | 48 return $this->position; |
Chris@14 | 49 } |
Chris@14 | 50 |
Chris@14 | 51 public function valid() { |
Chris@14 | 52 return $this->position < $this->nodeList->length; |
Chris@14 | 53 } |
Chris@14 | 54 |
Chris@14 | 55 public function rewind() { |
Chris@14 | 56 $this->position = 0; |
Chris@14 | 57 } |
Chris@14 | 58 } |