Class MultiSourceFunctionalColumn<D>

java.lang.Object
io.deephaven.engine.table.impl.select.MultiSourceFunctionalColumn<D>
All Implemented Interfaces:
Selectable, SelectColumn

public class MultiSourceFunctionalColumn<D> extends Object implements SelectColumn
  • Constructor Details

    • MultiSourceFunctionalColumn

      public MultiSourceFunctionalColumn(@NotNull @NotNull List<String> sourceNames, @NotNull @NotNull String destName, @NotNull @NotNull Class<D> destDataType, @NotNull @NotNull BiFunction<Long,ColumnSource<?>[],D> function)
    • MultiSourceFunctionalColumn

      public MultiSourceFunctionalColumn(@NotNull @NotNull List<String> sourceNames, @NotNull @NotNull String destName, @NotNull @NotNull Class<D> destDataType, @NotNull @NotNull Class<?> componentType, @NotNull @NotNull BiFunction<Long,ColumnSource<?>[],D> function)
  • Method Details

    • toString

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

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

      public List<String> initDef(Map<String,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; valid for this call only
      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 @NotNull ColumnSource<D> 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 @NotNull 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
    • 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 final WritableColumnSource<?> newDestInstance(long size)
      Description copied from interface: SelectColumn
      Create a new WritableColumnSource. The returned column source must be capable of handling updates.
      Specified by:
      newDestInstance in interface SelectColumn
      Parameters:
      size - A hint as to the number of rows that will be used
      Returns:
      a new WritableColumnSource
    • newFlatDestInstance

      public final WritableColumnSource<?> newFlatDestInstance(long size)
      Description copied from interface: SelectColumn
      Create a new immutable WritableColumnSource. The returned column source should be flat, and need not handle updates.
      Specified by:
      newFlatDestInstance in interface SelectColumn
      Parameters:
      size - A hint as to the number of rows that will be used
      Returns:
      a new WritableColumnSource
    • isRetain

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

      public boolean isStateless()
      Description copied from interface: SelectColumn
      Returns true if this column is stateless (i.e. one row does not depend on the order of evaluation for another row).
      Specified by:
      isStateless in interface SelectColumn
    • 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.