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
public class FunctionalColumn<S,D> extends Object implements SelectColumn
-
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.select.SelectColumn
ZERO_LENGTH_SELECT_COLUMN_ARRAY -
Constructor Summary
Constructors Constructor Description FunctionalColumn(String sourceName, Class<S> sourceDataType, String destName, Class<D> destDataType, Class componentType, BiFunction<Long,S,D> function)FunctionalColumn(String sourceName, Class<S> sourceDataType, String destName, Class<D> destDataType, Class componentType, Function<S,D> function)FunctionalColumn(String sourceName, Class<S> sourceDataType, String destName, Class<D> destDataType, BiFunction<Long,S,D> function)FunctionalColumn(String sourceName, Class<S> sourceDataType, String destName, Class<D> destDataType, Function<S,D> function) -
Method Summary
Modifier and Type Method Description FunctionalColumn<S,D>copy()Create a copy of this SelectColumn.booleandisallowRefresh()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.List<String>getColumnArrays()Get a list of the names of column arrays used in this SelectColumn.List<String>getColumns()Get a list of the names of columns used in this SelectColumn.ColumnSource<D>getDataView()Get aColumnSourcethat can be used to access the data on demand.ColumnSourcegetLazyView()Returns a lazily computed view of this column.MatchPairgetMatchPair()Get a MatchPair for this column, if applicable.StringgetName()Get the name of the resultant column.ClassgetReturnedType()Get the data type stored in the resultant column.List<String>initDef(Map<String,com.illumon.dataobjects.ColumnDefinition> columnDefinitionMap)Initialize any internal column definitions from the provided initial.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.List<String>initInputs(Index index, Map<String,? extends ColumnSource> columnsOfInterest)Initialize the column from the provided set of underlying columns and index.booleanisRetain()WritableSourcenewDestInstance(long size)Create a newWritableSourcewith sufficient capacity for the rows in the index.StringtoString()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
-
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.
-