package flare.query { /** * Aggregate operator for counting the number of items in a set of values. */ public class Count extends AggregateExpression { private var _count:int; /** * Creates a new Count operator * @param input the sub-expression of which to count the value */ public function Count(input:*=null) { super(input); } /** * @inheritDoc */ public override function reset():void { _count = 0; } /** * @inheritDoc */ public override function eval(o:Object=null):* { return _count; } /** * @inheritDoc */ public override function aggregate(value:Object):void { if (_expr.eval(value) != null) { _count++; } } } // end of class Count }