public interface ColumnProcessorFactory<T>
ColumnProcessors.makeProcessor(java.lang.String, org.apache.druid.segment.ColumnProcessorFactory<T>, org.apache.druid.segment.ColumnSelectorFactory).
Column processors can be any type "T". The idea is that a ColumnProcessorFactory embodies the logic for wrapping
and processing selectors of various types, and so enables nice code design, where type-dependent code is not
sprinkled throughout.the vectorized version,
which uses these, and which is responsible for
determining which type of selector to use for a given column,
which serves a similar purpose and may be replaced by this in the future,
which accepts {@link ColumnSelectorStrategyFactory} and is
similar to {@link ColumnProcessors#makeProcessor}| Modifier and Type | Method and Description |
|---|---|
ColumnType |
defaultType()
This default type will be used when the underlying column has an unknown type.
|
T |
makeArrayProcessor(BaseObjectColumnValueSelector<?> selector,
ColumnCapabilities columnCapabilities) |
T |
makeComplexProcessor(BaseObjectColumnValueSelector<?> selector)
Create a processor for a complex column.
|
T |
makeDimensionProcessor(DimensionSelector selector,
boolean multiValue)
Create a processor for a string column.
|
T |
makeDoubleProcessor(BaseDoubleColumnValueSelector selector)
Create a processor for a double column.
|
T |
makeFloatProcessor(BaseFloatColumnValueSelector selector)
Create a processor for a float column.
|
T |
makeLongProcessor(BaseLongColumnValueSelector selector)
Create a processor for a long column.
|
ColumnType defaultType()
T makeDimensionProcessor(DimensionSelector selector, boolean multiValue)
selector - dimension selectormultiValue - whether the selector *might* have multiple valuesT makeFloatProcessor(BaseFloatColumnValueSelector selector)
selector - float selectorT makeDoubleProcessor(BaseDoubleColumnValueSelector selector)
selector - double selectorT makeLongProcessor(BaseLongColumnValueSelector selector)
selector - long selectorT makeArrayProcessor(BaseObjectColumnValueSelector<?> selector, @Nullable ColumnCapabilities columnCapabilities)
selector - array selectorcolumnCapabilities - information about the underlying column to match. Null here just means the capabilities
are unknown, and not necessarily indicative that the column doesn't existT makeComplexProcessor(BaseObjectColumnValueSelector<?> selector)
selector - object selectorCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.