Class SourceColumn

java.lang.Object
com.illumon.iris.db.v2.select.SourceColumn
All Implemented Interfaces:
SelectColumn

public class SourceColumn extends Object implements SelectColumn
  • Constructor Details

    • SourceColumn

      public SourceColumn(String columnName)
    • SourceColumn

      public SourceColumn(String sourceName, String destName)
  • Method Details

    • initInputs

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

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

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

      public Class getReturnedType()
      Description copied from interface: SelectColumn
      Get the data type stored in the resultant column.
      Specified by:
      getReturnedType in interface SelectColumn
      Returns:
      the type
    • getColumns

      public List<String> getColumns()
      Description copied from interface: SelectColumn
      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.
      Specified by:
      getColumns in interface SelectColumn
      Returns:
      the columns used in this SelectColumn
    • getColumnArrays

      public List<String> getColumnArrays()
      Description copied from interface: SelectColumn
      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.
      Specified by:
      getColumnArrays in interface SelectColumn
      Returns:
      the list of column arrays used
    • getDataView

      @NotNull public ColumnSource getDataView()
      Description copied from interface: SelectColumn
      Get a ColumnSource that can be used to access the data on demand.
      Specified by:
      getDataView in interface SelectColumn
      Returns:
      a ColumnSource
    • getLazyView

      @NotNull public ColumnSource getLazyView()
      Description copied from interface: SelectColumn
      Returns a lazily computed view of this column.
      Specified by:
      getLazyView in interface SelectColumn
      Returns:
      a lazily computed column source
    • getName

      public String getName()
      Description copied from interface: SelectColumn
      Get the name of the resultant column.
      Specified by:
      getName in interface SelectColumn
      Returns:
      the name of the column
    • getSourceName

      @NotNull public String getSourceName()
    • getMatchPair

      public MatchPair getMatchPair()
      Description copied from interface: SelectColumn
      Get a MatchPair for this column, if applicable.
      Specified by:
      getMatchPair in interface SelectColumn
      Returns:
    • newDestInstance

      public WritableSource newDestInstance(long size)
      Description copied from interface: SelectColumn
      Create a new WritableSource with sufficient capacity for the rows in the index.
      Specified by:
      newDestInstance in interface SelectColumn
      Parameters:
      size - The number of rows to allocate
      Returns:
      a new WritableSource with sufficient capacity for 'dataSubset'
    • isRetain

      public boolean isRetain()
      Specified by:
      isRetain in interface SelectColumn
      Returns:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • disallowRefresh

      public boolean disallowRefresh()
      Description copied from interface: SelectColumn
      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.
      Specified by:
      disallowRefresh in interface SelectColumn
    • copy

      public SourceColumn copy()
      Description copied from interface: SelectColumn
      Create a copy of this SelectColumn.
      Specified by:
      copy in interface SelectColumn
      Returns:
      an independent copy of this SelectColumn.