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, 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 © 2010. All Rights Reserved.