be.SIRAPRISE.typeimplementations
Class OR_BOOLEAN_BOOLEAN

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

public final class OR_BOOLEAN_BOOLEAN
extends java.lang.Object
implements AggregationOperatorImplementation, BinaryBooleanOperatorImplementation

The implementation for the boolean OR operator

Author:
Erwin

Method Summary
 ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
          Performs the actual logic of the operator.
 java.lang.String[] getArgumentTypeNames()
          Gets the list of names of types of the needed argument values
 ScalarValueBuffer getIdentityElement()
          Gets the identity element of the operator in its domain.
static OR_BOOLEAN_BOOLEAN getInstance()
           
 java.lang.String getNegated(java.lang.String operand1, java.lang.String operand2)
          Gets the expression that is the negation of an invocation of this operator implementation
 java.lang.String getReturnTypeName()
          Gets the name of the type of the return value
 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
 

Method Detail

getInstance

public static OR_BOOLEAN_BOOLEAN getInstance()
Returns:
the instance of the implementation

executeOperator

public ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
Description copied from interface: OperatorImplementation
Performs the actual logic of the operator.

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()
Description copied from interface: OperatorImplementation
Gets the list of names of types of the needed argument values

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

getIdentityElement

public ScalarValueBuffer getIdentityElement()
Description copied from interface: AggregationOperatorImplementation
Gets the identity element of the operator in its domain.

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

getNegated

public java.lang.String getNegated(java.lang.String operand1,
                                   java.lang.String operand2)
Description copied from interface: BinaryBooleanOperatorImplementation
Gets the expression that is the negation of an invocation of this operator implementation

Specified by:
getNegated in interface BinaryBooleanOperatorImplementation
Parameters:
operand1 - The first operand of the invocation to be negated
operand2 - The second operand of the invocation to be negated
Returns:
the expression that is the negation of an invocation of this operator implementation

getReturnTypeName

public java.lang.String getReturnTypeName()
Description copied from interface: OperatorImplementation
Gets the name of the type of the return value

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.