uk.ac.starlink.table.formats
Class CsvStarTable

java.lang.Object
  extended byuk.ac.starlink.table.AbstractStarTable
      extended byuk.ac.starlink.table.formats.StreamStarTable
          extended byuk.ac.starlink.table.formats.CsvStarTable
All Implemented Interfaces:
StarTable

public class CsvStarTable
extends StreamStarTable

Comma-Separated Value table. This reader tries to read data in the semi-standard CSV format. The intention is that it understands the version of that dialect spoken by MS Excel, though the documentation on which it is based was not obtained directly from MicroSoft.

Here are the rules:

Since:
21 Sep 2004

Field Summary
 
Fields inherited from class uk.ac.starlink.table.formats.StreamStarTable
END
 
Constructor Summary
CsvStarTable(DataSource datsrc)
           
 
Method Summary
protected  PushbackInputStream getInputStream()
          Convenience method which returns a buffered pushback stream based on this table's data source.
protected  RowEvaluator.Metadata obtainMetadata()
          Obtains column metadata for this table, probably by reading through the rows once and using a RowEvaluator.
protected  List readRow(PushbackInputStream in)
          Reads the next row of data from a given stream.
 
Methods inherited from class uk.ac.starlink.table.formats.StreamStarTable
getColumnCount, getColumnInfo, getRowCount, getRowSequence, init
 
Methods inherited from class uk.ac.starlink.table.AbstractStarTable
checkedLongToInt, getCell, getColumnAuxDataInfos, getName, getParameterByName, getParameters, getRow, getURL, isRandom, setName, setParameter, setParameters, setURL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CsvStarTable

public CsvStarTable(DataSource datsrc)
             throws TableFormatException,
                    IOException
Method Detail

getInputStream

protected PushbackInputStream getInputStream()
                                      throws IOException
Description copied from class: StreamStarTable
Convenience method which returns a buffered pushback stream based on this table's data source.

Overrides:
getInputStream in class StreamStarTable
Returns:
input stream containing source data
Throws:
IOException

obtainMetadata

protected RowEvaluator.Metadata obtainMetadata()
                                        throws TableFormatException,
                                               IOException
Description copied from class: StreamStarTable
Obtains column metadata for this table, probably by reading through the rows once and using a RowEvaluator.

Specified by:
obtainMetadata in class StreamStarTable
Returns:
information about the table represented by the character stream
Throws:
TableFormatException - if the data doesn't represent this kind of table
IOException - if I/O error is encountered

readRow

protected List readRow(PushbackInputStream in)
                throws IOException
Reads the next row of data from a given stream. Ignorable rows are skipped; comments may be stashed away.

Specified by:
readRow in class StreamStarTable
Parameters:
in - input stream
Returns:
list of Strings one for each cell in the row, or null for end of stream
Throws:
IOException - if I/O error is encountered

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.