doc/lib: Add DocToc class representing a toc

refs #4820
This commit is contained in:
Eric Lippmann 2014-05-28 17:15:08 +02:00
parent 9edaaa82e8
commit d2936d0338
1 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,48 @@
<?php
// {{{ICINGA_LICENSE_HEADER}}}
// {{{ICINGA_LICENSE_HEADER}}}
namespace Icinga\Module\Doc;
use IteratorAggregate;
use Icinga\Data\Tree\NodeInterface;
use Icinga\Data\Tree\TreeIterator;
class DocToc implements NodeInterface, IteratorAggregate
{
protected $children = array();
protected $value;
public function __construct($value = null)
{
$this->value = $value;
}
public function getValue()
{
return $this->value;
}
public function appendChild($value)
{
$child = new self($value);
$this->children[] = $child;
return $child;
}
public function hasChildren()
{
return ! empty($this->children);
}
public function getChildren()
{
return $this->children;
}
public function getIterator()
{
return new TreeIterator($this);
}
}