public final class BinaryMinOperatorImplementation extends java.lang.Object implements AggregationOperatorImplementation
Constructor and Description |
---|
BinaryMinOperatorImplementation(OperatorImplementation_V0104 orderingOperatorImplementation,
OperatorImplementation_V0104 maxValueOperatorImplementation)
Creates the BinaryMinOperatorImplementation
|
Modifier and Type | Method and Description |
---|---|
ValueBuffer |
executeOperator(java.util.LinkedList<ValueBuffer> args)
MIN returns the lowest of the two values given
|
java.lang.String[] |
getArgumentTypeNames()
MIN takes two arguments, both of the same type, i.e.
|
ValueBuffer |
getIdentityElement()
The identity value is the value returned by LASTxxx(), where xxx is the type of the arguments, if such a LASTxxx() operator is implemented.
|
TypeDeclaration |
getReturnTypeDeclaration()
Gets the full type declaration of the type of the return value.
|
java.lang.String |
getReturnTypeName()
The return type is the same as the arguments' type
|
java.lang.String |
getSignature()
Gets the name of the operator implemented by this implementation object
|
boolean |
isDeterministic()
Tells whether the operator is deterministic with respect to the arguments of its invocations.
|
void |
readExternal(java.io.ObjectInput in) |
void |
writeExternal(java.io.ObjectOutput out) |
public BinaryMinOperatorImplementation(OperatorImplementation_V0104 orderingOperatorImplementation, OperatorImplementation_V0104 maxValueOperatorImplementation)
orderingOperatorImplementation
- the implementation object for the comparison (GT()) operation underlying this MAX() operation.maxValueOperatorImplementation
- The implementation of the niladic LASTXXX() operator for the type of the arguments of the ordering operator, or null if there is no such operatorpublic ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
executeOperator
in interface OperatorImplementation_V0104
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. Implementations have the option, but are not required, to do a check the conformance of the argument list (the argument count, notably) to the operator signature.public java.lang.String[] getArgumentTypeNames()
getArgumentTypeNames
in interface OperatorImplementation_V0104
public ValueBuffer getIdentityElement() throws NoIdentityElementException
getIdentityElement
in interface AggregationOperatorImplementation
NoIdentityElementException
- if no LASTxxx() operator could be found for the argument type of this MIN operator, or if its evaluation resulted in some exception (in the latter case, this is recorded in the Logger.getLogger() logs configured for the JVM)public TypeDeclaration getReturnTypeDeclaration()
OperatorImplementation_V0105
getReturnTypeDeclaration
in interface OperatorImplementation_V0105
public java.lang.String getReturnTypeName()
getReturnTypeName
in interface OperatorImplementation_V0104
public java.lang.String getSignature()
OperatorImplementation_V0104
getSignature
in interface OperatorImplementation_V0104
public boolean isDeterministic()
OperatorImplementation_V0104
isDeterministic
in interface OperatorImplementation_V0104
public void readExternal(java.io.ObjectInput in)
readExternal
in interface java.io.Externalizable
public void writeExternal(java.io.ObjectOutput out)
writeExternal
in interface java.io.Externalizable