Class CacheRowPipe
java.lang.Object
uk.ac.starlink.ttools.calc.CacheRowPipe
- All Implemented Interfaces:
uk.ac.starlink.table.RowPipe, uk.ac.starlink.table.TableSink
RowPipe implementation which caches the data to provide a random-access
StarTable.
The current implementation simply delegates to a
OnceRowPipe and caches the result before
returning it from waitForStarTable. This is crude,
and means that the output rows don't start to come until all the input
rows have been written to the pipe (so there's not much point using a pipe).
A future implementation should get smarter with threads to improve this.
- Since:
- 14 Oct 2011
- Author:
- Mark Taylor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptMetadata(uk.ac.starlink.table.StarTable meta) voidvoidendRows()voidsetError(IOException err) uk.ac.starlink.table.StarTableReturns a multiply-readable random access table.
-
Constructor Details
-
CacheRowPipe
public CacheRowPipe()Constructor.
-
-
Method Details
-
acceptMetadata
public void acceptMetadata(uk.ac.starlink.table.StarTable meta) throws uk.ac.starlink.table.TableFormatException - Specified by:
acceptMetadatain interfaceuk.ac.starlink.table.TableSink- Throws:
uk.ac.starlink.table.TableFormatException
-
acceptRow
- Specified by:
acceptRowin interfaceuk.ac.starlink.table.TableSink- Throws:
IOException
-
endRows
- Specified by:
endRowsin interfaceuk.ac.starlink.table.TableSink- Throws:
IOException
-
setError
- Specified by:
setErrorin interfaceuk.ac.starlink.table.RowPipe
-
waitForStarTable
Returns a multiply-readable random access table.- Specified by:
waitForStarTablein interfaceuk.ac.starlink.table.RowPipe- Returns:
- random access, multiply readable table with the same content as the rows accepted by this pipe
- Throws:
IOException
-