Class DocumentedStreamStarTableWriter

java.lang.Object
uk.ac.starlink.table.formats.DocumentedStreamStarTableWriter
All Implemented Interfaces:
Documented, DocumentedIOHandler, StarTableWriter
Direct Known Subclasses:
AbstractTextTableWriter, CsvTableWriter, HTMLTableWriter, LatexTableWriter, TstTableWriter

public abstract class DocumentedStreamStarTableWriter extends Object implements StarTableWriter, DocumentedIOHandler
Partial StarTableWriter implementation for use by writers which just write to output streams, and which also implements DocumentedIOHandler.
Since:
22 Sep 2020
Author:
Mark Taylor
  • Constructor Details

    • DocumentedStreamStarTableWriter

      protected DocumentedStreamStarTableWriter(String[] extensions)
      Constructor.
      Parameters:
      extensions - list of lower-cased filename extensions, excluding the '.' character
  • Method Details

    • getExtensions

      public String[] getExtensions()
      Description copied from interface: DocumentedIOHandler
      Returns the list of filename extensions recognised by this handler.
      Specified by:
      getExtensions in interface DocumentedIOHandler
      Returns:
      lower-cased filename extension strings, no "." characters
    • looksLikeFile

      public boolean looksLikeFile(String filename)
      Description copied from interface: StarTableWriter
      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.
      Specified by:
      looksLikeFile in interface StarTableWriter
      Parameters:
      filename - the location name (probably filename)
      Returns:
      true iff it looks like a file this writer would normally write
    • writeStarTable

      public void writeStarTable(StarTable table, String location, StarTableOutput sto) throws IOException
      Description copied from interface: StarTableWriter
      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.
      Specified by:
      writeStarTable in interface StarTableWriter
      Parameters:
      table - 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