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,BivariateDoubleFunctionVectorValueProcessorandBivariateFunctionVectorObjectProcessorin 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)ExpressionTypegetOutputType()abstract voidprocessIndex(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:
evalVectorin 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:
getOutputTypein interfaceExprVectorProcessor<TLeftInput>
-
-