Package uk.ac.starlink.ecsv
Class EcsvTableWriter
java.lang.Object
uk.ac.starlink.table.formats.DocumentedStreamStarTableWriter
uk.ac.starlink.ecsv.EcsvTableWriter
- All Implemented Interfaces:
uk.ac.starlink.table.Documented
,uk.ac.starlink.table.formats.DocumentedIOHandler
,uk.ac.starlink.table.StarTableWriter
public class EcsvTableWriter
extends uk.ac.starlink.table.formats.DocumentedStreamStarTableWriter
TableWriter for ECSV output format.
The format currently supported is ECSV 1.0, as documented at
Astropy APE6.
The current implementation avoids use of any YAML serialization library, it just uses print statements. This may facilitate its use in some contexts, and doing it like this seems straightforward enough. However if it turns out that the serialization is more complicated or error-prone than I thought it was, it might be worth revisiting this decision and using for instance the serialization facilities of the YAML parser library that is in any case a dependency of this package.
- Since:
- 29 Apr 2020
- Author:
- Mark Taylor
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final EcsvTableWriter
Instance using commas for delimiters.static final EcsvTableWriter
Instance using spaces for delimiters.static final String
Meta map key for table name string value.static final String
Meta map key for UCD string value.static final String
Meta map key for Utype string value.static final String
Meta map key for Xtype string value. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a writer with default characteristics.EcsvTableWriter
(char delimiter, String nameSuffix) Constructs a writer with a given delimiter character. -
Method Summary
Modifier and TypeMethodDescriptionboolean
char
Returns the delimiter character, either a space or a comma.Returns "text/plain".static uk.ac.starlink.table.StarTableWriter[]
Returns a list of ECSV writers with variant characteristics.void
setDelimiter
(String delimiter) Sets the delimiter.void
writeStarTable
(uk.ac.starlink.table.StarTable table, OutputStream out) Methods inherited from class uk.ac.starlink.table.formats.DocumentedStreamStarTableWriter
getExtensions, looksLikeFile, writeStarTable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface uk.ac.starlink.table.formats.DocumentedIOHandler
readText
-
Field Details
-
TABLENAME_METAKEY
Meta map key for table name string value.- See Also:
-
UCD_METAKEY
Meta map key for UCD string value.- See Also:
-
UTYPE_METAKEY
Meta map key for Utype string value.- See Also:
-
XTYPE_METAKEY
Meta map key for Xtype string value.- See Also:
-
SPACE_WRITER
Instance using spaces for delimiters. -
COMMA_WRITER
Instance using commas for delimiters.
-
-
Constructor Details
-
EcsvTableWriter
public EcsvTableWriter()Constructs a writer with default characteristics. -
EcsvTableWriter
Constructs a writer with a given delimiter character.- Parameters:
delimiter
- field delimiter character; should be a space or commanameSuffix
- string to append to "ECSV" to provide the format name
-
-
Method Details
-
getFormatName
-
getMimeType
Returns "text/plain". -
docIncludesExample
public boolean docIncludesExample() -
getXmlDescription
-
setDelimiter
@ConfigMethod(property="delimiter", doc="<p>Delimiter character, which for ECSV may be either a space or a comma. Permitted values are \"<code>space</code>\" or \"<code>comma</code>\".</p>", usage="comma|space", example="comma") public void setDelimiter(String delimiter) Sets the delimiter. ECSV only permits the space or comma.- Parameters:
delimiter
- delimiter character; may be "space", "comma", " " or ","- Throws:
IllegalArgumentException
- if not one of the permitted values
-
getDelimiter
public char getDelimiter()Returns the delimiter character, either a space or a comma.- Returns:
- delimiter character
-
writeStarTable
public void writeStarTable(uk.ac.starlink.table.StarTable table, OutputStream out) throws IOException - Throws:
IOException
-
getStarTableWriters
public static uk.ac.starlink.table.StarTableWriter[] getStarTableWriters()Returns a list of ECSV writers with variant characteristics.- Returns:
- variant EcsvTableWriters
-