public class ExpressionVirtualColumn extends Object implements VirtualColumn
| Constructor and Description |
|---|
ExpressionVirtualColumn(String name,
String expression,
ValueType outputType,
ExprMacroTable macroTable) |
| 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.
|
boolean |
equals(Object o) |
byte[] |
getCacheKey() |
String |
getExpression() |
String |
getOutputName()
Output name of this column.
|
ValueType |
getOutputType() |
int |
hashCode() |
DimensionSelector |
makeDimensionSelector(DimensionSpec dimensionSpec,
ColumnSelectorFactory columnSelectorFactory)
Build a selector corresponding to this virtual column.
|
DoubleColumnSelector |
makeDoubleColumnSelector(String columnName,
ColumnSelectorFactory factory)
Build a selector corresponding to this virtual column.
|
FloatColumnSelector |
makeFloatColumnSelector(String columnName,
ColumnSelectorFactory columnSelectorFactory)
Build a selector corresponding to this virtual column.
|
LongColumnSelector |
makeLongColumnSelector(String columnName,
ColumnSelectorFactory columnSelectorFactory)
Build a selector corresponding to this virtual column.
|
ObjectColumnSelector |
makeObjectColumnSelector(String columnName,
ColumnSelectorFactory columnSelectorFactory)
Build a selector corresponding to this virtual column.
|
List<String> |
requiredColumns()
Returns a list of columns that this virtual column will access.
|
String |
toString() |
boolean |
usesDotNotation()
Indicates that this virtual column can be referenced with dot notation.
|
public ExpressionVirtualColumn(String name, String expression, ValueType outputType, ExprMacroTable macroTable)
public String getOutputName()
VirtualColumngetOutputName in interface VirtualColumnpublic String getExpression()
public ValueType getOutputType()
public ObjectColumnSelector makeObjectColumnSelector(String columnName, ColumnSelectorFactory columnSelectorFactory)
VirtualColumnmakeObjectColumnSelector in interface VirtualColumncolumnName - the name this virtual column was referenced withcolumnSelectorFactory - column selector factorypublic DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelectorFactory columnSelectorFactory)
VirtualColumnDimensionSpec.getDimension(), which
is useful if this column uses dot notation. The virtual column is expected to apply any
necessary decoration from the dimensionSpec.makeDimensionSelector in interface VirtualColumndimensionSpec - the dimensionSpec this column was referenced withcolumnSelectorFactory - column selector factorypublic FloatColumnSelector makeFloatColumnSelector(String columnName, ColumnSelectorFactory columnSelectorFactory)
VirtualColumnmakeFloatColumnSelector in interface VirtualColumncolumnName - the name this virtual column was referenced withcolumnSelectorFactory - column selector factorypublic LongColumnSelector makeLongColumnSelector(String columnName, ColumnSelectorFactory columnSelectorFactory)
VirtualColumnmakeLongColumnSelector in interface VirtualColumncolumnName - the name this virtual column was referenced withcolumnSelectorFactory - column selector factorypublic ColumnCapabilities capabilities(String columnName)
VirtualColumncapabilities in interface VirtualColumncolumnName - the name this virtual column was referenced withpublic List<String> requiredColumns()
VirtualColumnrequiredColumns in interface VirtualColumnpublic boolean usesDotNotation()
VirtualColumnusesDotNotation in interface VirtualColumnpublic DoubleColumnSelector makeDoubleColumnSelector(String columnName, ColumnSelectorFactory factory)
VirtualColumnmakeDoubleColumnSelector in interface VirtualColumncolumnName - the name this virtual column was referenced withfactory - column selector factorypublic byte[] getCacheKey()
getCacheKey in interface io.druid.java.util.common.CacheableCopyright © 2011–2017. All rights reserved.