public class ExpressionVirtualColumn extends Object implements VirtualColumn
Constructor and Description |
---|
ExpressionVirtualColumn(String name,
String expression) |
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()
Get a byte array used as a cache key.
|
String |
getExpression() |
String |
getOutputName()
Output name of this column.
|
int |
hashCode() |
DimensionSelector |
makeDimensionSelector(DimensionSpec dimensionSpec,
ColumnSelectorFactory columnSelectorFactory)
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 String getOutputName()
VirtualColumn
getOutputName
in interface VirtualColumn
public String getExpression()
public ObjectColumnSelector makeObjectColumnSelector(String columnName, ColumnSelectorFactory columnSelectorFactory)
VirtualColumn
makeObjectColumnSelector
in interface VirtualColumn
columnName
- the name this virtual column was referenced withcolumnSelectorFactory
- column selector factorypublic DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelectorFactory columnSelectorFactory)
VirtualColumn
DimensionSpec.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 VirtualColumn
dimensionSpec
- the dimensionSpec this column was referenced withcolumnSelectorFactory
- column selector factorypublic FloatColumnSelector makeFloatColumnSelector(String columnName, ColumnSelectorFactory columnSelectorFactory)
VirtualColumn
makeFloatColumnSelector
in interface VirtualColumn
columnName
- the name this virtual column was referenced withcolumnSelectorFactory
- column selector factorypublic LongColumnSelector makeLongColumnSelector(String columnName, ColumnSelectorFactory columnSelectorFactory)
VirtualColumn
makeLongColumnSelector
in interface VirtualColumn
columnName
- the name this virtual column was referenced withcolumnSelectorFactory
- column selector factorypublic ColumnCapabilities capabilities(String columnName)
VirtualColumn
capabilities
in interface VirtualColumn
columnName
- the name this virtual column was referenced withpublic List<String> requiredColumns()
VirtualColumn
requiredColumns
in interface VirtualColumn
public boolean usesDotNotation()
VirtualColumn
usesDotNotation
in interface VirtualColumn
public byte[] getCacheKey()
Cacheable
getCacheKey
in interface Cacheable
Copyright © 2011–2017. All rights reserved.