uk.ac.starlink.table
Interface StarTableWriter

All Known Implementing Classes:
StreamStarTableWriter, VOTableWriter

public interface StarTableWriter

Defines an object which can output a StarTable in a particular format.


Method Summary
 String getFormatName()
          Gives the name of the format which is written by this writer.
 boolean looksLikeFile(String location)
          Indicates whether the destination is of a familiar form for this kind of writer.
 void writeStarTable(StarTable startab, OutputStream out)
          Writes a StarTable object to a given output stream.
 void writeStarTable(StarTable startab, String location, StarTableOutput sto)
          Writes a StarTable object to a given location.
 

Method Detail

writeStarTable

public void writeStarTable(StarTable startab,
                           OutputStream out)
                    throws TableFormatException,
                           IOException
Writes a StarTable object to a given output stream. The implementation can assume that out is suitable for direct writing (for instance it should not normally wrap it in a BufferedOutputStream), and should not close it at the end of the call.

Not all table writers are capable of writing to a stream; an implementation may throw a TableFormatException to indicate that it cannot do so.

Parameters:
startab - the table to write
out - the output stream to which startab should be written
Throws:
TableFormatException - if this table cannot be written to a stream
IOException - if there is some I/O error

writeStarTable

public void writeStarTable(StarTable startab,
                           String location,
                           StarTableOutput sto)
                    throws TableFormatException,
                           IOException
Writes a StarTable object to a given location. Implementations are free to interpret the location argument in any way appropriate for them. Typically however the location will simply be used to get an output stream (for instance interpreting it as a filename). In this case the sto argument should normally be used to turn location into a stream. StreamStarTableWriter provides a suitable implementation for this case.

Parameters:
startab - table to write
location - destination for startab
sto - StarTableOutput which dispatched this request
Throws:
TableFormatException - if startab cannot be written to location
IOException - if there is some I/O error

looksLikeFile

public boolean looksLikeFile(String location)
Indicates whether the destination is of a familiar form for this kind of writer. This may be used to guess what kind of format a table should be written in. Implementations should return true for values of location which look like the normal form for their output format, for instance one with the usual file extension.

Parameters:
location - the location name (probably filename)
Returns:
true iff it looks like a file this writer would normally write

getFormatName

public String getFormatName()
Gives the name of the format which is written by this writer. Matching against this string may be used by callers to identify or select this writer from a list.


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