public static interface RowAdapter.RowBuilder<RowT>
A SAX style row factory. It is responsible for creating two types of rows: standard data rows and special marker rows. Marker rows are emitted when skipping lots of rows due to filters. The server notifies the client of the last row it skipped to help client resume in case of error.
State management is handled external to the implementation of this class and guarantees the following order:
- Exactly 1
startRow
for each row. - Exactly 1
startCell
for each cell. - At least 1
cellValue
for each cell. - Exactly 1
finishCell
for each cell. - Exactly 1
finishRow
for each row.
createScanMarkerRow
can be called one or more times between finishRow
and
startRow
. reset
can be called at any point and can be invoked multiple times in
a row.
Type Parameter | |
---|---|
Name | Description |
RowT |
Methods
cellValue(ByteString value)
public abstract void cellValue(ByteString value)
Called multiple times per cell to concatenate the cell value.
Parameter | |
---|---|
Name | Description |
value | ByteString |
createScanMarkerRow(ByteString key)
public abstract RowT createScanMarkerRow(ByteString key)
Creates a special row to mark server progress before any data is received
Parameter | |
---|---|
Name | Description |
key | ByteString |
Returns | |
---|---|
Type | Description |
RowT |
finishCell()
public abstract void finishCell()
Called once per cell to signal the end of the value (unless reset).
finishRow()
public abstract RowT finishRow()
Called once per row to signal that all cells have been processed (unless reset).
Returns | |
---|---|
Type | Description |
RowT |
reset()
public abstract void reset()
Called when the current in progress row should be dropped
startCell(String family, ByteString qualifier, long timestamp, List<String> labels, long size)
public abstract void startCell(String family, ByteString qualifier, long timestamp, List<String> labels, long size)
Called to start a new cell in a row.
Parameters | |
---|---|
Name | Description |
family | String |
qualifier | ByteString |
timestamp | long |
labels | List<String> |
size | long |
startRow(ByteString key)
public abstract void startRow(ByteString key)
Called to start a new row. This will be called once per row.
Parameter | |
---|---|
Name | Description |
key | ByteString |