public interface Generator extends AutoCloseable
Modifier and Type | Method and Description |
---|---|
void |
close()
关闭生成器。
|
String |
dateToCalendarString(TimeConverter converter, AbsoluteDate date)
将日期转换为具有高精度的日历字符串值。
|
String |
dateToString(int year, int month, int day, int hour, int minute, double seconds)
将日期转换为具有高精度的字符串值。
|
String |
dateToString(TimeConverter converter, AbsoluteDate date)
将日期转换为具有高精度的字符串值。
|
String |
doubleToString(double value)
将双精度数转换为具有高精度的字符串值。
|
void |
endMessage(String root)
结束CCSDS消息。
|
void |
enterSection(String name)
进入新的部分。
|
String |
exitSection()
退出上一个部分。
|
FileFormat |
getFormat()
获取生成的文件格式。
|
String |
getOutputName()
获取输出的名称(用于错误消息)。
|
void |
newLine()
完成当前行。
|
String |
siToCcsdsName(String siName)
将SI单位名称转换为CCSDS名称。
|
void |
startMessage(String root, String messageTypeKey, double version)
开始CCSDS消息。
|
String |
unitsListToString(List<Unit> units)
将单位列表转换为括号字符串。
|
void |
writeComments(List<String> comments)
写入注释行。
|
void |
writeEntry(String key, char value, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, double value, Unit unit, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, Double value, Unit unit, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, Enum<?> value, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, int value, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, List<String> value, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, String value, Unit unit, boolean mandatory)
写入单个键/值条目。
|
void |
writeEntry(String key, TimeConverter converter, AbsoluteDate date, boolean forceCalendar, boolean mandatory)
写入单个键/值条目。
|
void |
writeRawData(char data)
写入原始数据。
|
void |
writeRawData(CharSequence data)
写入原始数据。
|
String getOutputName()
FileFormat getFormat()
void startMessage(String root, String messageTypeKey, double version) throws IOException
messageTypeKey
- 消息类型的键
root
- XML文件的根元素
version
- 格式版本
IOException
- 如果发生I/O错误。
void endMessage(String root) throws IOException
root
- XML文件的根元素
IOException
- 如果发生I/O错误。
void writeComments(List<String> comments) throws IOException
comments
- 要写入的注释
IOException
- 如果发生I/O错误。
void writeEntry(String key, String value, Unit unit, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值
unit
- 输出单位(可能为null)
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, List<String> value, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, Enum<?> value, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, TimeConverter converter, AbsoluteDate date, boolean forceCalendar, boolean mandatory) throws IOException
key
- 要写入的关键字
converter
- 用于日期的转换器
date
- 要写入的日期
forceCalendar
- 如果为true,则日期被强制为日历格式
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, char value, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, int value, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, double value, Unit unit, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值(以SI单位)
unit
- 输出单位
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void writeEntry(String key, Double value, Unit unit, boolean mandatory) throws IOException
key
- 要写入的关键字
value
- 要写入的值(以SI单位)
unit
- 输出单位
mandatory
- 如果为true,则null值会触发异常,否则会被静默忽略
IOException
- 如果发生I/O错误。
void newLine() throws IOException
IOException
- 如果发生I/O错误。
void writeRawData(char data) throws IOException
data
- 要写入的原始数据
IOException
- 如果发生I/O错误。
void writeRawData(CharSequence data) throws IOException
data
- 要写入的原始数据
IOException
- 如果发生I/O错误。
void enterSection(String name) throws IOException
name
- 部分名称
IOException
- 如果发生I/O错误。
String exitSection() throws IOException
IOException
- 如果发生I/O错误。
void close() throws IOException
close
在接口中 AutoCloseable
IOException
- 如果发生I/O错误。
String dateToString(TimeConverter converter, AbsoluteDate date)
converter
- 日期转换器
date
- 要写入的日期
String dateToCalendarString(TimeConverter converter, AbsoluteDate date)
converter
- 日期转换器
date
- 要写入的日期
String dateToString(int year, int month, int day, int hour, int minute, double seconds)
year
- 年
month
- 月
day
- 日
hour
- 时
minute
- 分
seconds
- 秒
String doubleToString(double value)
在写入双精度数时,我们不希望丢失内部精度,但也不希望出现像STEP = 1.25000000000000000这样的丑陋表示,因此我们首先尝试几种简单的格式,如果不起作用,则退回到科学计数法。
value
- 要格式化的值
Double.NaN
则返回null
String unitsListToString(List<Unit> units)
units
- 要输出的列表(可以为null或空)
Copyright © 2002-2023 CS GROUP. All rights reserved.