Class TextTableWriter

    • Constructor Detail

      • TextTableWriter

        public TextTableWriter()
    • Method Detail

      • getMimeType

        public java.lang.String getMimeType()
        Description copied from interface: StarTableWriter
        Returns a string suitable for use as the value of a MIME Content-Type header. If no suitable MIME type is available or known, one of "application/octet-stream" (for binary formats) or "text/plain" for ASCII ones) is recommended.
        Specified by:
        getMimeType in interface StarTableWriter
        Overrides:
        getMimeType in class AbstractTextTableWriter
        Returns:
        MIME content type
      • looksLikeFile

        public boolean looksLikeFile​(java.lang.String location)
        Returns true if the location argument is equal to "-", indicating standard output.
        Specified by:
        looksLikeFile in interface StarTableWriter
        Parameters:
        location - the location name (probably filename)
        Returns:
        true iff it looks like a file this writer would normally write
      • writeStarTables

        public void writeStarTables​(TableSequence tableSeq,
                                    java.io.OutputStream out)
                             throws java.io.IOException
        Description copied from interface: MultiStarTableWriter
        Writes an array of StarTable objects to a given output stream. The implementation can assume that the stream 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.
        Specified by:
        writeStarTables in interface MultiStarTableWriter
        Parameters:
        tableSeq - sequence of tables to write
        out - destination stream
        Throws:
        java.io.IOException
      • writeStarTables

        public void writeStarTables​(TableSequence tableSeq,
                                    java.lang.String location,
                                    StarTableOutput sto)
                             throws java.io.IOException
        Description copied from interface: MultiStarTableWriter
        Writes an array of StarTable objects 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.
        Specified by:
        writeStarTables in interface MultiStarTableWriter
        Parameters:
        tableSeq - sequence of tables to write
        location - destination for tables
        sto - StarTableOutput instance
        Throws:
        java.io.IOException
      • getMaxWidth

        public int getMaxWidth()
        Description copied from class: AbstractTextTableWriter
        Returns the maximum width for a given column. Values longer than this may be truncated.
        Specified by:
        getMaxWidth in class AbstractTextTableWriter
        Returns:
        maximum permitted column width in characters
      • formatValue

        protected java.lang.String formatValue​(java.lang.Object val,
                                               ValueInfo vinfo,
                                               int width)
        Description copied from class: AbstractTextTableWriter
        Formats a data value for output.
        Specified by:
        formatValue in class AbstractTextTableWriter
        Parameters:
        val - the value
        vinfo - the metadata object describing val's type
        width - maximum preferred width into which the value should be formatted
        Returns:
        formatted string meaning value, preferably no longer than width characters
      • printSeparator

        protected void printSeparator​(java.io.OutputStream strm,
                                      int[] colwidths)
                               throws java.io.IOException
        Description copied from class: AbstractTextTableWriter
        Outputs a decorative separator line, of the sort you might find between the column headings and the table data.
        Specified by:
        printSeparator in class AbstractTextTableWriter
        Parameters:
        strm - stream to write into
        colwidths - column widths in characters
        Throws:
        java.io.IOException
      • printColumnHeads

        protected void printColumnHeads​(java.io.OutputStream strm,
                                        int[] colwidths,
                                        ColumnInfo[] cinfos)
                                 throws java.io.IOException
        Description copied from class: AbstractTextTableWriter
        Outputs headings for the table columns.
        Specified by:
        printColumnHeads in class AbstractTextTableWriter
        Parameters:
        strm - stream to write into
        colwidths - column widths in characters
        cinfos - array of column headings
        Throws:
        java.io.IOException
      • printLine

        protected void printLine​(java.io.OutputStream strm,
                                 int[] colwidths,
                                 java.lang.String[] data)
                          throws java.io.IOException
        Description copied from class: AbstractTextTableWriter
        Outputs a line of table data.
        Specified by:
        printLine in class AbstractTextTableWriter
        Parameters:
        strm - stream to write into
        colwidths - column widths in characters
        data - array of strings to be output, one per column
        Throws:
        java.io.IOException
      • printParam

        protected void printParam​(java.io.OutputStream strm,
                                  java.lang.String name,
                                  java.lang.String value,
                                  java.lang.Class clazz)
                           throws java.io.IOException
        Description copied from class: AbstractTextTableWriter
        Outputs a parameter and its value.
        Specified by:
        printParam in class AbstractTextTableWriter
        Parameters:
        strm - stream to write into
        name - parameter name
        value - formatted parameter value
        clazz - type of value
        Throws:
        java.io.IOException