|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.table.storage.ByteStoreRowStore
public class ByteStoreRowStore
RowStore based on a ByteStore.
It uses custom serialization to encode some basic data types
(primitives, Strings, and arrays of them) as a byte sequence.
Therefore it may not cope with tables containing exotic objects.
The actual storage destination is controlled by the
ByteStore
implementation used.
Constructor Summary | |
---|---|
ByteStoreRowStore(ByteStore byteStore)
Constructor. |
Method Summary | |
---|---|
void |
acceptMetadata(StarTable meta)
Takes delivery of a row-less StarTable object which defines the metadata of the table to be transmitted. |
void |
acceptRow(Object[] row)
Takes delivery of one row of data. |
void |
endRows()
Signals that there are no more rows to be transmitted. |
protected void |
finalize()
|
ByteStore |
getByteStore()
Returns the underlying storage for this row store. |
StarTable |
getStarTable()
Obtains a StarTable which contains the data and metadata that have been written into this sink. |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ByteStoreRowStore(ByteStore byteStore)
byteStore
- storage container used by this row storeMethod Detail |
---|
public ByteStore getByteStore()
public void acceptMetadata(StarTable meta) throws TableFormatException
TableSink
StarTable.getRowCount()
); if it is not known, the row count
should be -1. However, this object should not attempt to read
any of meta's cell data.
The data to be transmitted in subsequent calls of acceptRow must match the metadata transmitted in this call in the same way that rows of a StarTable must match its own metadata (number and content clases of columns etc). If this sink cannot dispose of a table corresponding to meta then it may throw a TableFormatException - this may be the case if for instance meta has columns with types that this sink can't deal with.
acceptMetadata
in interface TableSink
meta
- table metadata object
TableFormatException
- if this sink cannot accept table rows
matching the given metadatapublic void acceptRow(Object[] row) throws IOException
TableSink
acceptRow
in interface TableSink
row
- table data row
IOException
public void endRows() throws IOException
TableSink
endRows
in interface TableSink
IOException
public StarTable getStarTable()
RowStore
TableSink.endRows()
; failing to observe this sequence may
earn you an IllegalStateException
getStarTable
in interface RowStore
protected void finalize() throws Throwable
finalize
in class Object
Throwable
|
Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |