public interface VirtualColumn extends Cacheable
Modifier and Type | Method and Description |
---|---|
ColumnCapabilities |
capabilities(String columnName)
Returns the capabilities of this virtual column, which includes a type that should match
the type returned by "makeObjectColumnSelector" and should correspond to the best
performing selector.
|
String |
getOutputName()
Output name of this column.
|
DimensionSelector |
makeDimensionSelector(DimensionSpec dimensionSpec,
ColumnSelectorFactory factory)
Build a selector corresponding to this virtual column.
|
FloatColumnSelector |
makeFloatColumnSelector(String columnName,
ColumnSelectorFactory factory)
Build a selector corresponding to this virtual column.
|
LongColumnSelector |
makeLongColumnSelector(String columnName,
ColumnSelectorFactory factory)
Build a selector corresponding to this virtual column.
|
ObjectColumnSelector |
makeObjectColumnSelector(String columnName,
ColumnSelectorFactory factory)
Build a selector corresponding to this virtual column.
|
List<String> |
requiredColumns()
Returns a list of columns that this virtual column will access.
|
boolean |
usesDotNotation()
Indicates that this virtual column can be referenced with dot notation.
|
getCacheKey
String getOutputName()
ObjectColumnSelector makeObjectColumnSelector(String columnName, ColumnSelectorFactory factory)
columnName
- the name this virtual column was referenced withfactory
- column selector factory@Nullable DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelectorFactory factory)
DimensionSpec.getDimension()
, which
is useful if this column uses dot notation. The virtual column is expected to apply any
necessary decoration from the dimensionSpec.dimensionSpec
- the dimensionSpec this column was referenced withfactory
- column selector factory@Nullable FloatColumnSelector makeFloatColumnSelector(String columnName, ColumnSelectorFactory factory)
columnName
- the name this virtual column was referenced withfactory
- column selector factory@Nullable LongColumnSelector makeLongColumnSelector(String columnName, ColumnSelectorFactory factory)
columnName
- the name this virtual column was referenced withfactory
- column selector factoryColumnCapabilities capabilities(String columnName)
columnName
- the name this virtual column was referenced withList<String> requiredColumns()
boolean usesDotNotation()
Copyright © 2011–2017. All rights reserved.