Package org.apache.druid.segment.vector
Interface VectorObjectSelector
-
- All Superinterfaces:
VectorSizeInspector
- All Known Implementing Classes:
ExpressionVectorObjectSelector
,NestedFieldVirtualColumn.RawFieldVectorObjectSelector
,NilVectorSelector
,StringUtf8DictionaryEncodedColumn.MultiValueStringVectorObjectSelector
,StringUtf8DictionaryEncodedColumn.StringVectorObjectSelector
,VariantColumn.VariantVectorObjectSelector
public interface VectorObjectSelector extends VectorSizeInspector
Vectorized object selector. Typically created byVectorColumnSelectorFactory.makeObjectSelector(String)
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object[]
getObjectVector()
Get the current vector.-
Methods inherited from interface org.apache.druid.segment.vector.VectorSizeInspector
getCurrentVectorSize, getMaxVectorSize
-
-
-
-
Method Detail
-
getObjectVector
Object[] getObjectVector()
Get the current vector. The type of objects in the array depends on the type of the selector. Callers can determine this by callingVectorColumnSelectorFactory.getColumnCapabilities(String)
if creating selectors directly. Alternatively, callers usingVectorColumnProcessorFactory
will receive capabilities as part of the callback toVectorColumnProcessorFactory.makeObjectProcessor(ColumnCapabilities, VectorObjectSelector)
. String selectors, where type isColumnType.STRING
, must use objects compatible with the spec ofDimensionSelector.rowToObject(IndexedInts, DimensionDictionarySelector)
. Array selectors, whereTypeSignature.isArray()
, must useObject[]
. The array may contain null elements, and the array itself may also be null. Complex selectors may use any type of object. No other type of selector is possible. Vector object selectors are only used for strings, arrays, and complex types.
-
-