Class ColumnHolder<T>
java.lang.Object
io.deephaven.engine.table.impl.util.ColumnHolder<T>
public class ColumnHolder<T> extends Object
Data to construct a data column.
-
Field Summary
Fields Modifier and Type Field Description Class<?>
componentType
The data's component type of the column.Class<T>
dataType
The data type of the column.boolean
grouped
Should the result column be grouped (used for test data only).String
name
The name of the column.static ColumnHolder[]
ZERO_LENGTH_COLUMN_HOLDER_ARRAY
-
Constructor Summary
Constructors Modifier Constructor Description protected
ColumnHolder(boolean chunkSentinel, String name, Class<?> dataType, Class<?> componentType, boolean grouped, Chunk<Values> chunkData)
Construct a new set of column data with a specified type using a chunk.ColumnHolder(String name, boolean grouped, byte... arrayData)
Construct a new set of column data.ColumnHolder(String name, boolean grouped, char... arrayData)
Construct a new set of column data.ColumnHolder(String name, boolean grouped, double... arrayData)
Construct a new set of column data.ColumnHolder(String name, boolean grouped, float... arrayData)
Construct a new set of column data.ColumnHolder(String name, boolean grouped, int... arrayData)
Construct a new set of column data.ColumnHolder(String name, boolean grouped, long... arrayData)
Construct a new set of column data.ColumnHolder(String name, boolean grouped, short... arrayData)
Construct a new set of column data.ColumnHolder(String name, Class<T> dataType, Class<?> componentType, boolean grouped, T... arrayData)
Construct a new set of column data. -
Method Summary
Modifier and Type Method Description static <T> ColumnHolder<T>
createColumnHolder(String name, boolean grouped, T... data)
Create a column holder from an array object, inferring the data type from the given array object.Optional<Object>
getArrayData()
static ColumnHolder<Boolean>
getBooleanColumnHolder(String name, boolean grouped, byte... data)
Create a column holder for a Boolean column where the calues are represented as bytes.Chunk<Values>
getChunk()
Optional<Chunk<Values>>
getChunkData()
ColumnSource<?>
getColumnSource()
Gets a column source for the data.static ColumnHolder<DateTime>
getDateTimeColumnHolder(String name, boolean grouped, long... data)
Create a column holder for a DateTime column where the values are represented as longs.static ColumnHolder<DateTime>
getDateTimeColumnHolder(String name, boolean grouped, Chunk<Values> chunkData)
Create a column holder for a DateTime column where the values are represented as longs.String
getName()
static <T> ColumnHolder<T>
makeForChunk(String name, Class<T> type, Class<?> componentType, boolean grouped, Chunk<Values> chunkData)
int
size()
-
Field Details
-
ZERO_LENGTH_COLUMN_HOLDER_ARRAY
-
name
The name of the column. -
dataType
The data type of the column. -
componentType
The data's component type of the column. -
grouped
public final boolean groupedShould the result column be grouped (used for test data only).
-
-
Constructor Details
-
ColumnHolder
public ColumnHolder(String name, Class<T> dataType, Class<?> componentType, boolean grouped, T... arrayData)Construct a new set of column data.- Parameters:
name
- column namedataType
- column data typecomponentType
- column component type (for array or>
data types)arrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
Construct a new set of column data.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisearrayData
- column data
-
ColumnHolder
protected ColumnHolder(boolean chunkSentinel, String name, Class<?> dataType, Class<?> componentType, boolean grouped, Chunk<Values> chunkData)Construct a new set of column data with a specified type using a chunk. This overload allows the creation of a ColumnHolder where the official data type type does not match the data.- Parameters:
name
- column nametype
- abstract data type for the columngrouped
- true if the column is grouped; false otherwisechunkData
- column data
-
-
Method Details
-
makeForChunk
-
getDateTimeColumnHolder
public static ColumnHolder<DateTime> getDateTimeColumnHolder(String name, boolean grouped, long... data)Create a column holder for a DateTime column where the values are represented as longs. Whatever process produces a table from this column holder should respect this and create the appropriate type of ColumnSource. Under normal conditions, this will be a DateTimeArraySource (seegetColumnSource()
).- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisedata
- column data (long integers representing nanos since the epoch)- Returns:
- a DateTime column holder implemented with longs for storage
-
getDateTimeColumnHolder
public static ColumnHolder<DateTime> getDateTimeColumnHolder(String name, boolean grouped, Chunk<Values> chunkData)Create a column holder for a DateTime column where the values are represented as longs. Whatever process produces a table from this column holder should respect this and create the appropriate type of ColumnSource. Under normal conditions, this will be a DateTimeArraySource (seegetColumnSource()
).- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisechunkData
- column data (long integers representing nanos since the epoch)- Returns:
- a DBDateTime column holder implemented with longs for storage
-
getBooleanColumnHolder
public static ColumnHolder<Boolean> getBooleanColumnHolder(String name, boolean grouped, byte... data)Create a column holder for a Boolean column where the calues are represented as bytes. The given byte array will be converted to a Boolean array.- Parameters:
name
- column namegrouped
- true if the column is grouped; false otherwisedata
- column data (byte values where 1 represents true, 0 represents false, and null otherwise)- Returns:
- a Boolean column holder
-
createColumnHolder
Create a column holder from an array object, inferring the data type from the given array object.- Parameters:
name
- The column namegrouped
- true if the column is grouped; false otherwisedata
- The data array- Returns:
- a column holder with a type matching the component type of the provided array
-
getName
-
getColumnSource
Gets a column source for the data. Other than the special case of DateTime columns, this requires that the type specified match the component type of the actual data.- Returns:
- column source constructed with data from this column holder
-
getArrayData
-
getChunkData
-
getChunk
-
size
public int size()
-