/** class for describing flags
*/
-class PlFlagSet
+class PlFlagSet extends PlAbstractIterable implements XDBFormat
{
/** string that holds the PlFlagSet */
private $values = array();
}
return $flags;
}
+
+
+ /** format for XDB
+ */
+ public function format()
+ {
+ 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: