/** class for describing flags
*/
-class PlFlagSet implements XDBFormat
+class PlFlagSet extends PlAbstractIterable implements XDBFormat
{
/** string that holds the PlFlagSet */
private $values = array();
{
return XDB::escape($this->flags());
}
+
+
+ /** Build an iterator for this PlFlagSet.
+ */
+ public function iterate()
+ {
+ $array = array();
+ foreach ($this->values as $key=>$value) {
+ if ($value) {
+ $array[] = $key;
+ }
+ }
+ return PlIteratorUtils::fromArray($array, 1, true);
+ }
}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: