public final class IntervalIntersectOperatorImplementation extends java.lang.Object implements IntervalOperatorImplementation, AggregationOperatorImplementation
| Constructor and Description |
|---|
IntervalIntersectOperatorImplementation(IntervalTypeImplementation intervalTypeImplementation,
IntervalOverlapsOperatorImplementation overlapsOperatorImplementation)
Creates the implementation object
|
| Modifier and Type | Method and Description |
|---|---|
ValueBuffer |
executeOperator(java.util.LinkedList<ValueBuffer> args)
Performs the actual logic of the operator.
|
java.lang.String[] |
getArgumentTypeNames()
An interval intersect operator takes two arguments that are both of the same interval type
|
ValueBuffer |
getIdentityElement()
The identity element of any interval intersect operator exists only if the base type underlying the interval type to which the intersect operator is applied, has a FIRST...() operator.
|
TypeDeclaration |
getReturnTypeDeclaration()
Gets the full type declaration of the type of the return value.
|
java.lang.String |
getReturnTypeName()
The return type of any interval intersect operator is the same as its argument types.
|
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 IntervalIntersectOperatorImplementation(IntervalTypeImplementation intervalTypeImplementation, IntervalOverlapsOperatorImplementation overlapsOperatorImplementation)
intervalTypeImplementation - The IntervalTypeIplementation object of the arguments (and our own return of course)overlapsOperatorImplementation - implementation of the overlaps operator for the same interval typepublic ValueBuffer executeOperator(java.util.LinkedList<ValueBuffer> args)
OperatorImplementation_V0104executeOperator in interface OperatorImplementation_V0104args - 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_V0104public ValueBuffer getIdentityElement() throws NoIdentityElementException
getIdentityElement in interface AggregationOperatorImplementationNoIdentityElementException - If the conditions for an identity value to exist for this operator are not metpublic TypeDeclaration getReturnTypeDeclaration()
OperatorImplementation_V0105getReturnTypeDeclaration in interface OperatorImplementation_V0105public java.lang.String getReturnTypeName()
getReturnTypeName in interface OperatorImplementation_V0104public java.lang.String getSignature()
OperatorImplementation_V0104getSignature in interface OperatorImplementation_V0104public boolean isDeterministic()
OperatorImplementation_V0104isDeterministic in interface OperatorImplementation_V0104public void readExternal(java.io.ObjectInput in)
throws java.io.IOException
readExternal in interface java.io.Externalizablejava.io.IOExceptionpublic void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOException