Package com.illumon.iris.db.v2.select
Class FunctionalColumn<S,D>
java.lang.Object
com.illumon.iris.db.v2.select.FunctionalColumn<S,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
ConstructorsConstructorDescriptionFunctionalColumn(@NotNull String sourceName, @NotNull Class<S> sourceDataType, @NotNull String destName, @NotNull Class<D> destDataType, @NotNull Class componentType, @NotNull BiFunction<Long, S, D> function) FunctionalColumn(@NotNull String sourceName, @NotNull Class<S> sourceDataType, @NotNull String destName, @NotNull Class<D> destDataType, @NotNull Class componentType, @NotNull Function<S, D> function) FunctionalColumn(@NotNull String sourceName, @NotNull Class<S> sourceDataType, @NotNull String destName, @NotNull Class<D> destDataType, @NotNull BiFunction<Long, S, D> function) FunctionalColumn(@NotNull String sourceName, @NotNull Class<S> sourceDataType, @NotNull String destName, @NotNull Class<D> destDataType, @NotNull Function<S, 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.@NotNull ColumnSource<D>Get aColumnSourcethat can be used to access the data on demand.@NotNull ColumnSourceReturns 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.initDef(Map<String, ColumnDefinition> columnDefinitionMap) 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
-
FunctionalColumn
-
FunctionalColumn
-
FunctionalColumn
-
FunctionalColumn
-
-
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
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.
-