I - QueryItem whose value is relevant for this report.H - ColumnHeader which can determine if an <Item> belongs into that column
or not.public abstract class Report<I extends QueryItem,H extends ColumnHeader<? super I>> extends Object
Rows and a list of
<ColumnHeader>s. Since a report does not specify <Item> and <ColumnHeader> it
does not contain functional logic. Due to readability implicit definition of functional logic is
prevented and thus prevent initialization of an abstract Report. In order to create a specific
Report a subclass has to be created.| Modifier and Type | Class and Description |
|---|---|
static interface |
Report.Builder<I extends QueryItem,H extends ColumnHeader<? super I>>
Builder for
Report. |
| Modifier and Type | Field and Description |
|---|---|
protected List<H> |
columnHeaders |
| Modifier | Constructor and Description |
|---|---|
protected |
Report(List<H> columnHeaders,
String[] rowDesc) |
| Modifier and Type | Method and Description |
|---|---|
void |
addItem(I item) |
void |
addItem(I item,
QueryItemPreprocessor<I> preprocessor) |
void |
addItems(List<? extends I> items,
QueryItemPreprocessor<I> preprocessor) |
void |
addItems(List<I> items) |
protected Row<I> |
createRow(int columnSize) |
List<H> |
getColumnHeaders() |
Row<I> |
getRow(String key) |
String[] |
getRowDesc() |
Map<String,Row<I>> |
getRows() |
Row<I> |
getSumRow() |
int |
rowSize() |
Set<String> |
rowTitles() |
protected List<H extends ColumnHeader<? super I>> columnHeaders
public final String[] getRowDesc()
public final int rowSize()
public final void addItem(I item)
public final void addItem(I item, QueryItemPreprocessor<I> preprocessor)
public final void addItems(List<? extends I> items, QueryItemPreprocessor<I> preprocessor)
Copyright © 2020. All rights reserved.