Class ColumnHolder

java.lang.Object
com.illumon.iris.db.v2.utils.ColumnHolder

public class ColumnHolder
extends Object
Data to construct a data column.
  • Field Details

  • Constructor Details

    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, T... data)
      Construct a new set of column data.
      Type Parameters:
      T - column element type
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, Class<T> clazz, T... data)
      Construct a new set of column data.
      Type Parameters:
      T - column element type
      Parameters:
      name - column name
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, long... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, int... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, short... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, char... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, byte... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, double... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
    • ColumnHolder

      public ColumnHolder​(String name, boolean grouped, float... data)
      Construct a new set of column data.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data
  • Method Details

    • getDateTimeColumnHolder

      public static ColumnHolder 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 (see getColumnSource()).
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - column data (long integers representing nanos since the epoch)
      Returns:
      a DBDateTime column holder implemented with longs for storage
    • getBooleanColumnHolder

      public static ColumnHolder 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 name
      grouped - true if the column is grouped; false otherwise
      data - column data (byte values where 1 represents true, 0 represents false, and null otherwise)
      Returns:
      a Boolean column holder
    • getColumnHolderFromArray

      public static ColumnHolder getColumnHolderFromArray​(String name, boolean grouped, Object data)
      Create a column holder from an array object, inferring the data type from the given array object.
      Parameters:
      name - column name
      grouped - true if the column is grouped; false otherwise
      data - an object holding the column data (must be an array)
      Returns:
      a column holder with a type matching the component type of the provided array
    • getColumnSource

      public ColumnSource getColumnSource()
      Gets a column source for the data. Other than the special case of DBDateTime 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