This package provides a set of classes related to columns used in tables.
There are quite a large set of column types. For each literal type used by the InfoVis Toolkit, there is a concrete column type: IntColumn, LongColumn, FloatColumn, DoubleColumn. These columns are dense, meaning that they allocate memory for all of their potential values, even if most are undefined at the end. A second set of implementations is provided for mostly spare columns: IntSparseColumn and others (yet to come) that inherit from SparseColumn.
For other types inheriting from java.lang.Object
,
there is a base class
BasicObjectColumn and several
specialized columns such as:
ObjectColumn,
StringColumn and
ShapeColumn.
Columns containing literal values inherit from the LiteralColumn base class for their implementation. They all implement the NumberColumn interface. This interface provides a uniform access to any literal values for contexts where algorithms only care about getting a number and not about its concrete representation.
Columns are meant to expose the structure of their contents so,
for example, when a table needs to contain 2-dimensional point
using X and Y double coordinates, it is best to use two
DoubleColumn
s instead of one
ObjectColumn
containing Point2D
elements.
For more information about specific column classes, look at their specific documentation.