Package com.illumon.iris.db.v2.select
Class MultiSourceFunctionalColumn<D>
java.lang.Object
com.illumon.iris.db.v2.select.MultiSourceFunctionalColumn<D>
- All Implemented Interfaces:
SelectColumn
-
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.select.SelectColumn
ZERO_LENGTH_SELECT_COLUMN_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionMultiSourceFunctionalColumn(List<String> sourceNames, String destName, Class<D> destDataType, Class componentType, BiFunction<Long, ColumnSource[], D> function) MultiSourceFunctionalColumn(List<String> sourceNames, String destName, Class<D> destDataType, BiFunction<Long, ColumnSource[], D> function) -
Method Summary
Modifier and TypeMethodDescriptioncopy()Create a copy of this SelectColumn.booleanShould 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.Get a list of the names of column arrays used in this SelectColumn.Get a list of the names of columns used in this SelectColumn.Get aColumnSourcethat can be used to access the data on demand.Returns a lazily computed view of this column.Get a MatchPair for this column, if applicable.getName()Get the name of the resultant column.Get the data type stored in the resultant column.Initialize any internal column definitions from the provided initial.initInputs(Table table) Initialize the SelectColumn using the input table and return a list of underlying columns that this SelectColumn is dependent upon.initInputs(Index index, Map<String, ? extends ColumnSource> columnsOfInterest) Initialize the column from the provided set of underlying columns and index.booleanisRetain()newDestInstance(long size) Create a newWritableSourcewith sufficient capacity for the rows in the index.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.select.SelectColumn
alwaysEvaluate, alwaysEvaluateCopy, getConstantValueView
-
Constructor Details
-
MultiSourceFunctionalColumn
public MultiSourceFunctionalColumn(@NotNull List<String> sourceNames, @NotNull String destName, @NotNull Class<D> destDataType, @NotNull BiFunction<Long, ColumnSource[], D> function) -
MultiSourceFunctionalColumn
public MultiSourceFunctionalColumn(@NotNull List<String> sourceNames, @NotNull String destName, @NotNull Class<D> destDataType, @NotNull Class componentType, @NotNull BiFunction<Long, ColumnSource[], D> function)
-
-
Method Details
-
toString
-
initInputs
Description copied from interface:SelectColumnInitialize the SelectColumn using the input table and return a list of underlying columns that this SelectColumn is dependent upon.- Specified by:
initInputsin interfaceSelectColumn- Parameters:
table- the table to initialize internals from- Returns:
- a list containing all columns from 'table' that the result depends on
-
initInputs
Description copied from interface:SelectColumnInitialize the column from the provided set of underlying columns and index.- Specified by:
initInputsin interfaceSelectColumn- Parameters:
index- the base indexcolumnsOfInterest- 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:SelectColumnInitialize any internal column definitions from the provided initial.- Specified by:
initDefin interfaceSelectColumn- Parameters:
columnDefinitionMap- the starting set of column definitions- Returns:
- a list of columns on which the result of this is dependent
-
getReturnedType
Description copied from interface:SelectColumnGet the data type stored in the resultant column.- Specified by:
getReturnedTypein interfaceSelectColumn- Returns:
- the type
-
getColumns
Description copied from interface:SelectColumnGet 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:
getColumnsin interfaceSelectColumn- Returns:
- the columns used in this SelectColumn
-
getColumnArrays
Description copied from interface:SelectColumnGet 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:
getColumnArraysin interfaceSelectColumn- Returns:
- the list of column arrays used
-
getDataView
Description copied from interface:SelectColumnGet aColumnSourcethat can be used to access the data on demand.- Specified by:
getDataViewin interfaceSelectColumn- Returns:
- a
ColumnSource
-
getLazyView
Description copied from interface:SelectColumnReturns a lazily computed view of this column.- Specified by:
getLazyViewin interfaceSelectColumn- Returns:
- a lazily computed column source
-
getName
Description copied from interface:SelectColumnGet the name of the resultant column.- Specified by:
getNamein interfaceSelectColumn- Returns:
- the name of the column
-
getMatchPair
Description copied from interface:SelectColumnGet a MatchPair for this column, if applicable.- Specified by:
getMatchPairin interfaceSelectColumn- Returns:
-
newDestInstance
Description copied from interface:SelectColumnCreate a newWritableSourcewith sufficient capacity for the rows in the index.- Specified by:
newDestInstancein interfaceSelectColumn- Parameters:
size- The number of rows to allocate- Returns:
- a new
WritableSourcewith sufficient capacity for 'dataSubset'
-
isRetain
public boolean isRetain()- Specified by:
isRetainin interfaceSelectColumn- Returns:
-
disallowRefresh
public boolean disallowRefresh()Description copied from interface:SelectColumnShould 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:
disallowRefreshin interfaceSelectColumn
-
copy
Description copied from interface:SelectColumnCreate a copy of this SelectColumn.- Specified by:
copyin interfaceSelectColumn- Returns:
- an independent copy of this SelectColumn.
-