be.SIRAPRISE.typeimplementations
Class PLUS_AVERAGE_AVERAGE

java.lang.Object
  extended by be.SIRAPRISE.typeimplementations.PLUS_AVERAGE_AVERAGE
All Implemented Interfaces:
AggregationOperatorImplementation, OperatorImplementation, OperatorImplementation_V0104

public final class PLUS_AVERAGE_AVERAGE
extends java.lang.Object
implements AggregationOperatorImplementation

The AVERAGE addition operator.

Author:
Erwin

Constructor Summary
PLUS_AVERAGE_AVERAGE()
           
 
Method Summary
 ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
          The average addition operator returns the AVERAGE value (VALUE((c1 * b1) + (c2 * b2) / (c1 + c2)))COUNT(c1 + c2))
 java.lang.String[] getArgumentTypeNames()
          PLUS takes two arguments, both of type AVERAGE
 ScalarValueBuffer getIdentityElement()
          The identity value is the AVERAGE value with COUNT 0 and VALUE 0.0
 java.lang.String getReturnTypeName()
          The return type is AVERAGE
 boolean isDeterministic()
          Tells whether the operator is deterministic with respect to the arguments of its invocations.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PLUS_AVERAGE_AVERAGE

public PLUS_AVERAGE_AVERAGE()
Method Detail

executeOperator

public ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
The average addition operator returns the AVERAGE value (VALUE((c1 * b1) + (c2 * b2) / (c1 + c2)))COUNT(c1 + c2))

Specified by:
executeOperator in interface OperatorImplementation
Parameters:
args - the argument list. The list must hold as many ValueBuffer objects as there are arguments to the operator, and each ValueBuffer object holds a value for some argument to the operator. ValueBuffer objects on the list must appear in the same order as the operator argument declarations.
Returns:
A ValueBuffer object holding the result value of the operator execution in internal format.

getArgumentTypeNames

public java.lang.String[] getArgumentTypeNames()
PLUS takes two arguments, both of type AVERAGE

Specified by:
getArgumentTypeNames in interface OperatorImplementation
Returns:
The names of the argument types

getIdentityElement

public ScalarValueBuffer getIdentityElement()
The identity value is the AVERAGE value with COUNT 0 and VALUE 0.0

Specified by:
getIdentityElement in interface AggregationOperatorImplementation
Returns:
The identity element.

getReturnTypeName

public java.lang.String getReturnTypeName()
The return type is AVERAGE

Specified by:
getReturnTypeName in interface OperatorImplementation
Returns:
the name of the type of the return value

isDeterministic

public boolean isDeterministic()
Description copied from interface: OperatorImplementation_V0104
Tells whether the operator is deterministic with respect to the arguments of its invocations. An operator is deterministic if and only if for any two distinct invocations, if all the argument values are the same, then the result value returned will also be the same. An example of a nondeterministic operators is RANDOM().

Specified by:
isDeterministic in interface OperatorImplementation_V0104
Returns:
true if the operator is deterministic.