Interface ColumnSelectorFactory

All Superinterfaces:
ColumnInspector, Expr.InputBindingInspector
All Known Implementing Classes:
AllNullColumnSelectorFactory, DefaultColumnSelectorFactoryMaker.ColumnAccessorBasedColumnSelectorFactory, FrameColumnSelectorFactory, IndexedTableColumnSelectorFactory, LookupColumnSelectorFactory, MultiColumnSelectorFactory, QueryableIndexColumnSelectorFactory, RemapColumnSelectorFactory, RowBasedColumnSelectorFactory, SettableCursorColumnSelectorFactory, ShimColumnSelectorFactory, VirtualizedColumnSelectorFactory

public interface ColumnSelectorFactory extends ColumnInspector
Factory class for MetricSelectors
  • Method Details

    • makeDimensionSelector

      DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec)
    • makeColumnValueSelector

      ColumnValueSelector makeColumnValueSelector(String columnName)
      Returns ColumnValueSelector corresponding to the given column name, or NilColumnValueSelector if the column with such name is absent.
    • getColumnCapabilities

      @Nullable ColumnCapabilities getColumnCapabilities(String column)
      Returns capabilities of a particular column, if known. May be null if the column doesn't exist, or if the column does exist but the capabilities are unknown. The latter is possible with dynamically discovered columns.
      Specified by:
      getColumnCapabilities in interface ColumnInspector
      Parameters:
      column - column name
      Returns:
      capabilities, or null
    • getRowIdSupplier

      @Nullable default RowIdSupplier getRowIdSupplier()
      Returns a RowIdSupplier that allows callers to detect whether the selectors returned by this factory have moved or not. Useful for selectors that wrap other selectors, such as virtual columns, as it allows them to cache their outputs.