monitoring/lib: Add iterator for iterating over non-pseudo monitoring query columns

refs #9956
This commit is contained in:
Eric Lippmann 2015-09-29 22:15:11 +02:00
parent 5008537683
commit 0a8369e6e5
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
<?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Module\Monitoring\Data;
use ArrayIterator;
use FilterIterator;
use Zend_Db_Expr;
/**
* Iterator over non-pseudo monitoring query columns
*/
class ColumnFilterIterator extends FilterIterator
{
/**
* Create a new ColumnFilterIterator
*
* @param array $columns
*/
public function __construct(array $columns)
{
parent::__construct(new ArrayIterator($columns));
}
/**
* {@inheritdoc}
*/
public function accept()
{
$column = $this->current();
return ! ($column instanceof Zend_Db_Expr || $column === '(NULL)');
}
}