Interface SelectColumn

All Known Subinterfaces:
FormulaColumn
All Known Implementing Classes:
AbstractFormulaColumn, DhFormulaColumn, FunctionalColumn, MultiSourceFunctionalColumn, NullSelectColumn, NumbaFormulaColumn, ReinterpretedColumn, SourceColumn, SwitchColumn

public interface SelectColumn
The interface for a query table to perform retrieve values from a column for select like operations.
  • Field Details

  • Method Details

    • initInputs

      List<String> initInputs​(Table table)
      Initialize the SelectColumn using the input table and return a list of underlying columns that this SelectColumn is dependent upon.
      Parameters:
      table - the table to initialize internals from
      Returns:
      a list containing all columns from 'table' that the result depends on
    • initInputs

      List<String> initInputs​(Index index, Map<String,​? extends ColumnSource> columnsOfInterest)
      Initialize the column from the provided set of underlying columns and index.
      Parameters:
      index - the base index
      columnsOfInterest - the input columns
      Returns:
      a list of columns on which the result of this is dependent
    • initDef

      List<String> initDef​(Map<String,​com.illumon.dataobjects.ColumnDefinition> columnDefinitionMap)
      Initialize any internal column definitions from the provided initial.
      Parameters:
      columnDefinitionMap - the starting set of column definitions
      Returns:
      a list of columns on which the result of this is dependent
    • getReturnedType

      Class getReturnedType()
      Get the data type stored in the resultant column.
      Returns:
      the type
    • getColumns

      List<String> getColumns()
      Get a list of the names of columns used in this SelectColumn. Behavior is undefined if none of the init* methods have been called yet.
      Returns:
      the columns used in this SelectColumn
    • getColumnArrays

      List<String> getColumnArrays()
      Get a list of the names of column arrays used in this SelectColumn. Behavior is undefined if none of the init* methods have been called yet.
      Returns:
      the list of column arrays used
    • getDataView

      @NotNull ColumnSource getDataView()
      Get a ColumnSource that can be used to access the data on demand.
      Returns:
      a ColumnSource
    • getLazyView

      @NotNull ColumnSource getLazyView()
      Returns a lazily computed view of this column.
      Returns:
      a lazily computed column source
    • getConstantValueView

      @NotNull default ColumnSource<Attributes.Values> getConstantValueView()
      Returns a SingleValueSource for this column.
      Returns:
      a SingleValueColumnSource
    • getName

      String getName()
      Get the name of the resultant column.
      Returns:
      the name of the column
    • getMatchPair

      MatchPair getMatchPair()
      Get a MatchPair for this column, if applicable.
      Returns:
    • newDestInstance

      WritableSource newDestInstance​(long size)
      Create a new WritableSource with sufficient capacity for the rows in the index.
      Parameters:
      size - The number of rows to allocate
      Returns:
      a new WritableSource with sufficient capacity for 'dataSubset'
    • isRetain

      boolean isRetain()
      Returns:
    • disallowRefresh

      boolean disallowRefresh()
      Should we disallow use of this column for refreshing tables? Some formulas can not be reliably computed with a refreshing table, therefore we will refuse to compute those values.
    • alwaysEvaluate

      default boolean alwaysEvaluate()
      Should we ignore modified column sets, and always re-evaluate this column (if appropriate)?
    • alwaysEvaluateCopy

      default SelectColumn alwaysEvaluateCopy()
      Create a copy of this SelectColumn that always re-evaluates (if appropriate).
    • copy

      SelectColumn copy()
      Create a copy of this SelectColumn.
      Returns:
      an independent copy of this SelectColumn.