org.teiid.query.function.aggregate
Class Sum

java.lang.Object
  extended by org.teiid.query.function.aggregate.AggregateFunction
      extended by org.teiid.query.function.aggregate.Sum
Direct Known Subclasses:
Avg

public class Sum
extends AggregateFunction

Accumulates (per tuple) and calculates the sum of the values of a column. The type of the result varies depending on the type of the input AggregateSymbol


Field Summary
protected  int accumulatorType
           
protected static int BIG_DECIMAL
           
protected static int BIG_INTEGER
           
protected static int DOUBLE
           
protected static int LONG
           
 
Constructor Summary
Sum()
           
 
Method Summary
 void addInputDirect(java.lang.Object input, java.util.List<?> tuple)
          Called for the element value in every row of a group.
protected  int getAccumulatorType()
          Allows subclasses to determine type of accumulator for the SUM.
 java.lang.Object getResult()
          Called after all values have been processed to get the result.
 void initialize(java.lang.Class<?> dataType, java.lang.Class<?> inputType)
          Called to initialize the function.
 void reset()
          Called to reset the state of the function.
 
Methods inherited from class org.teiid.query.function.aggregate.AggregateFunction
addInput, respectsNull, setConditionIndex, setExpressionIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LONG

protected static final int LONG
See Also:
Constant Field Values

DOUBLE

protected static final int DOUBLE
See Also:
Constant Field Values

BIG_INTEGER

protected static final int BIG_INTEGER
See Also:
Constant Field Values

BIG_DECIMAL

protected static final int BIG_DECIMAL
See Also:
Constant Field Values

accumulatorType

protected int accumulatorType
Constructor Detail

Sum

public Sum()
Method Detail

getAccumulatorType

protected int getAccumulatorType()
Allows subclasses to determine type of accumulator for the SUM.

Returns:
Type, as defined in constants

initialize

public void initialize(java.lang.Class<?> dataType,
                       java.lang.Class<?> inputType)
Description copied from class: AggregateFunction
Called to initialize the function. In the future this may expand with additional information.

Overrides:
initialize in class AggregateFunction
Parameters:
dataType - Data type of element begin aggregated
See Also:
org.teiid.query.function.aggregate.AggregateFunction#initialize(boolean, String)

reset

public void reset()
Description copied from class: AggregateFunction
Called to reset the state of the function.

Specified by:
reset in class AggregateFunction

addInputDirect

public void addInputDirect(java.lang.Object input,
                           java.util.List<?> tuple)
                    throws FunctionExecutionException,
                           ExpressionEvaluationException,
                           TeiidComponentException
Description copied from class: AggregateFunction
Called for the element value in every row of a group.

Specified by:
addInputDirect in class AggregateFunction
Parameters:
input - Input value, may be null
Throws:
FunctionExecutionException
ExpressionEvaluationException
TeiidComponentException
See Also:
AggregateFunction.addInputDirect(Object, List)

getResult

public java.lang.Object getResult()
                           throws FunctionExecutionException,
                                  ExpressionEvaluationException,
                                  TeiidComponentException
Description copied from class: AggregateFunction
Called after all values have been processed to get the result.

Specified by:
getResult in class AggregateFunction
Returns:
Result value
Throws:
FunctionExecutionException
ExpressionEvaluationException
TeiidComponentException
See Also:
AggregateFunction.getResult()


Copyright © 2011. All Rights Reserved.