/usr/share/php/Icinga/Data/Tree/TreeNodeIterator.php is in php-icinga 2.1.0-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Data\Tree;
use ArrayIterator;
use RecursiveIterator;
/**
* Iterator over a tree node's children
*/
class TreeNodeIterator implements RecursiveIterator
{
/**
* The node's children
*
* @var array
*/
protected $children;
/**
* Create a new iterator over a tree node's children
*
* @param TreeNode $node
*/
public function __construct(TreeNode $node)
{
$this->children = new ArrayIterator($node->getChildren());
}
/**
* {@inheritdoc}
*/
public function current()
{
return $this->children->current();
}
/**
* {@inheritdoc}
*/
public function key()
{
return $this->children->key();
}
/**
* {@inheritdoc}
*/
public function next()
{
$this->children->next();
}
/**
* {@inheritdoc}
*/
public function rewind()
{
$this->children->rewind();
}
/**
* {@inheritdoc}
*/
public function valid()
{
return $this->children->valid();
}
/**
* {@inheritdoc}
*/
public function hasChildren()
{
return $this->current()->hasChildren();
}
/**
* {@inheritdoc}
* @return TreeNodeIterator
*/
public function getChildren()
{
return new static($this->current());
}
}
|