//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// package mx.olap { /** * The IOLAPCustomAggregator interface defines the interface * implemented by custom aggregator classes. * An instance of a class that implements this interface can be passed to an OLAPMeasure * object to define the aggregation type of the measure. * *
You use the methods of this interface in two groups. The first group consists of the
* computeBegin()
, computeLoop()
, and computeEnd()
methods.
* Use these methods to compute an aggregation of the values of a measure.
The second group consists of the
* computeObjectBegin()
, computeObjectLoop()
,
* and computeObjectEnd()
methods.
* Use these methods to compute an aggregation of aggregated values.
OLAPMeasure.dataField
property
* for the measure to be aggregated.
*
* @return An Object initialized for the aggregation.
* Use this Object to hold any information necessary to perform the aggregation.
* You pass this Object to subsequent calls to the computeLoop()
* and computeEnd()
methods.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
function computeBegin(dataField:String):Object;
/**
* Flex calls this method when a new value needs to be added to the aggregation.
*
* @param data The Object returned by the call to the computeBegin()
method,
* or calculated by a previous call to the computeLoop()
method.
* Use this Object to hold information necessary to perform the aggregation.
* This method modifies this Object; it does not return a value.
*
* @param dataField The name of the OLAPMeasure.dataField
property
* for the measure to be aggregated.
*
* @param value The object representing the rows data that is being analyzed.
*
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
function computeLoop(data:Object, dataField:String, value:Object):void;
/**
* Flex calls this method to end the computation of the aggregation value.
*
*
* @param data The Object returned by the call to the computeLoop()
method.
* Use this Object to hold information necessary to perform the aggregation.
*
* @param dataField The name of the OLAPMeasure.dataField
property
* for the measure to be aggregated.
*
* @return The aggregated value.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
function computeEnd(data:Object, dataField:String):Number;
/**
* Flex calls this method to start aggregation of aggregated values.
* Calculating the average value of a group of averages is an example of
* an aggregation of aggregated values.
*
* @param value The Object returned by the call to the computeEnd()
method
* for a previous aggregation.
* Use this Object to hold the information necessary to perform the aggregation.
*
* @return An Object initialized for the aggregation.
* Use this Object to hold any information necessary to perform the aggregation.
* You pass this Object to subsequent calls to the computeObjectLoop()
* and computeObjectEnd()
methods.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
function computeObjectBegin(value:Object):Object;
/**
* Flex calls this method when a new aggregated value needs to be added to the aggregation.
*
* @param value The Object returned by a call the computeObjectBegin()
method,
* or calculated by a previous call to the computeObjectLoop()
method.
* This method modifies this Object; it does not return a value.
*
* @param newValue The Object returned by the call to the computeEnd()
method
* for a previous aggregation.
*
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
function computeObjectLoop(value:Object, newValue:Object):void;
/**
* Flex calls this method to end the computation.
*
* @param value The Object returned by a call to the computeObjectLoop()
method
* that is used to store the aggregation results.
* This method modifies this Object; it does not return a value.
*
* @param dataField The name of the OLAPMeasure.dataField
property
* for the measure to be aggregated.
*
* @return The aggregated value.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
function computeObjectEnd(value:Object, dataField:String):Number;
}
}