Module org.refcodes.tabular
Package org.refcodes.tabular
package org.refcodes.tabular
This archetype helps processing table like data structures including the
processing of
CSV files
with records, headers as well as comments whilst supporting
Plain old Java
objects (POJO) and simple new Java
record types.
Please refer to the refcodes-tabular: Process tabular data and CSV files using POJOs documentation for an up-to-date and detailed description on the usage of this artifact.
-
ClassDescriptionThe
AbstractColumn
is the default implementation for theColumn
interface.AbstractHeader<T,C extends Column<? extends T>> Most genericColumnFactory
for creatingColumn
instances managing instances of the (sub-)typeBoolean
.Column<T>Provides an accessor for aColumn
property.Provides a mutator for aColumn
property.Provides aColumn
property.AColumnFactory
creates or retrieves aColumn
instances identified by the provided key (name).Columns<T>TheCsvRecordReader
is an implementation of theRecordReader
interface and provides functionality to parse CSV input streams:Column<Float> floatColumn = floatColumn( "volume" ); Column<String> stringColumn = floatColumn( "name" ); Column<Integer> intColumn = floatColumn( "length" ); Column<Date> dateColumn = floatColumn( "time" ); try (CsvRecordReader<?
TheCsvRecordWriter
writes CSV-Data.THis implementation of theCsvRecordReader
assumes that for ease of use we just want to handleString
columns.DateColumn
implements theColumn
with support for theDate
type and various default or custom date formats.Most genericColumnFactory
for creatingColumn
instances managing instances of the (sub-)typeDouble
.EnumColumn<T extends Enum<T>>The Class ExceptionColumnImpl.Field<T>AField
stores an attribute consisting of a key (name) and a value.FieldImpl<T>Fields<T>AFields
stores an attribute consisting of a key (name) and an array of values.FieldsImpl<T>Most genericColumnFactory
for creatingColumn
instances managing instances of the (sub-)typeFloat
.Enriches aColumn
with rendering metrics (as of theColumnSetupMetrics
) mostly for text-based output such as for generating output for a terminal / console.Decorator implementation of the HeaderSetupMetrics interface.Implementation of theFormattedColumn
interface.In case no order of theFormattedColumn
instances is explicitly required (similar to a DB table or a spread sheet, in contrast to a CSV file) thenFormattedColumn
instances are grouped by aFormattedColumns
set.A list ofColumn
instances, for example describing the elements of a CSV file (visually speaking the of the CSV file's header line), is represented by theFormattedHeader
.Header<T>Provides an accessor for aHeader
property.HeaderAccessor.HeaderBuilder<T extends HeaderAccessor.HeaderBuilder<?>>Provides a mutator for an header property.Provides a mutator for aHeader
property.Provides aHeader
property.HeaderImpl<T>Most genericColumnFactory
for creatingColumn
instances managing instances of the (sub-)typeInteger
.ObjectColumn<T>Most genericColumnFactory
for creatingColumn
instances managing instances of the (sub-)typeObject
.The Enum PrintStackTrace.Record<T>Provides an accessor for aRecord
property.Provides a mutator for aRecord
property.Provides aRecord
property.RecordImpl<T>RecordReader<T>Extends theRecords
with functionality for file based implementations regarding header management and means to monitor the state of reading data.Records<T>Provides an accessor for aRecords
property.Provides a mutator for aRecords
property.Provides aRecords
property.RecordsImpl<T>RecordWriter<T>TheRecordWriter
writes data.Row<T>RowImpl<T>Rows<T>RowsImpl<T>Most genericColumnFactory
for creatingColumn
instances managing instances of the (sub-)typeString
.Base exception for the refcodes-tabular artifact.Base runtime exception for the refcodes-tabular artifact.Declarative syntactic sugar which may be statically imported in order to allow declarative definitions for the tabular package's elements, e.g. for creatingHeader
orColumn
instances orCsvRecordReader
(CsvStringRecordReader
) orCsvRecordWriter
(CsvStringRecordWriter
) instances.Utility for listing specific functionality.