Class BivariateFunctionVectorProcessor<TLeftInput,TRightInput,TOutput>
- java.lang.Object
-
- org.apache.druid.math.expr.vector.BivariateFunctionVectorProcessor<TLeftInput,TRightInput,TOutput>
-
- All Implemented Interfaces:
ExprVectorProcessor<TOutput>
- Direct Known Subclasses:
SymmetricalBivariateFunctionVectorProcessor
public abstract class BivariateFunctionVectorProcessor<TLeftInput,TRightInput,TOutput> extends Object implements ExprVectorProcessor<TOutput>
Basic vector processor that processes 2 inputs and works for both primitive value vectors and object vectors. Different fromBivariateLongFunctionVectorValueProcessor
,BivariateDoubleFunctionVectorValueProcessor
andBivariateFunctionVectorObjectProcessor
in that subclasses of this class must check for and directly decide how to handle null values.
-
-
Constructor Summary
Constructors Constructor Description BivariateFunctionVectorProcessor(ExpressionType outputType, ExprVectorProcessor<TLeftInput> left, ExprVectorProcessor<TRightInput> right)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ExprEvalVector<TOutput>
asEval()
ExprEvalVector<TOutput>
evalVector(Expr.VectorInputBinding bindings)
ExpressionType
getOutputType()
abstract void
processIndex(TLeftInput leftInput, boolean[] leftNulls, TRightInput rightInput, boolean[] rightNulls, int i)
-
-
-
Constructor Detail
-
BivariateFunctionVectorProcessor
public BivariateFunctionVectorProcessor(ExpressionType outputType, ExprVectorProcessor<TLeftInput> left, ExprVectorProcessor<TRightInput> right)
-
-
Method Detail
-
evalVector
public ExprEvalVector<TOutput> evalVector(Expr.VectorInputBinding bindings)
- Specified by:
evalVector
in interfaceExprVectorProcessor<TLeftInput>
-
processIndex
public abstract void processIndex(TLeftInput leftInput, @Nullable boolean[] leftNulls, TRightInput rightInput, @Nullable boolean[] rightNulls, int i)
-
asEval
public abstract ExprEvalVector<TOutput> asEval()
-
getOutputType
public ExpressionType getOutputType()
- Specified by:
getOutputType
in interfaceExprVectorProcessor<TLeftInput>
-
-