package flare.query
{
/**
* Base class representing an aggregate query operator.
*/
public class AggregateExpression extends Expression
{
/** The sub-expression to aggregate. */
protected var _expr:Expression;
/** The sub-expression to aggregate. */
public function get input():Expression { return _expr; }
public function set input(e:*):void {
_expr = Expression.expr(e);
}
/**
* @inheritDoc
*/
public override function get numChildren():int {
return 1;
}
/**
* Creates a new AggregateExpression.
* @param input the sub-expression to aggregate.
*/
public function AggregateExpression(input:*) {
this.input = input;
}
/**
* @inheritDoc
*/
public override function getChildAt(idx:int):Expression
{
return idx==0 ? _expr : null;
}
/**
* @inheritDoc
*/
public override function setChildAt(idx:int, expr:Expression):Boolean
{
if (idx == 0) {
_expr = expr;
return true;
}
return false;
}
/**
* Resets the aggregation computation.
*/
public function reset():void
{
}
/**
* Increments the aggregation computation to include the input value.
* @param value a value to include within the aggregation.
*/
public function aggregate(value:Object):void
{
}
} }